Size: a a a

Camunda BPM Group

2020 June 28

EZ

Edward Zakharov in Camunda BPM Group
Ну я больше вел к тому, что схема у вас такая, что без костылей с переменными нормально не будет. Ну можно на экстернал таске каждом делать что-то после его выполнения в лисенере, например, как-то перемаппливать переменные.
источник

IP

Igor Petetskikh in Camunda BPM Group
Edward Zakharov
Ну я больше вел к тому, что схема у вас такая, что без костылей с переменными нормально не будет. Ну можно на экстернал таске каждом делать что-то после его выполнения в лисенере, например, как-то перемаппливать переменные.
ога, я тоже в этом направлении думал...
источник

IP

Igor Petetskikh in Camunda BPM Group
думал, вдруг есть еще какой-то вариант, о котором я не знаю
источник

IP

Igor Petetskikh in Camunda BPM Group
а вообще, бест практис по поводу возвращения данных из внешних тасок какой?
не делать в паралельных потоках?
источник

КШ

Коля Шипяков... in Camunda BPM Group
А разве если вынести в подпроцессы параллельные ветки это не решит проблему? Выглядеть имхо это будет так себе но кажется что с переменными проблем не будет
источник

EZ

Edward Zakharov in Camunda BPM Group
Igor Petetskikh
а вообще, бест практис по поводу возвращения данных из внешних тасок какой?
не делать в паралельных потоках?
Параллельные шлюзы это не про экстернал таски. Там у вас мог быть другого типа таск, сути не поменяло бы
источник

SD

Serg D. in Camunda BPM Group
Igor Petetskikh
а вообще, бест практис по поводу возвращения данных из внешних тасок какой?
не делать в паралельных потоках?
Я еще раз повторяю, вы не с той стороны подходите к проблеме. Каждое плечо (и каждый инстанс мультиинстанса) у вас возвращает единичный резудьтат, в вашем примере статус отправки, а по факту в результате вы хотите видеть коллекцию (массив, список, набор) статусов всех отправок. Т.е. в какой-то момент должен отработать код, который выполнит агрегацию. Возьмёт единичный результат и добавит его в коллекцию. Чтобы понять где и как это сделать нужно глубоко копнуть скоуп переменных камунды, разобраться как бегают токены в гейтах и мультиинстансах. На этих знаниях решить, что же вам подходит больше в данном случае.
источник

IP

Igor Petetskikh in Camunda BPM Group
Serg D.
Я еще раз повторяю, вы не с той стороны подходите к проблеме. Каждое плечо (и каждый инстанс мультиинстанса) у вас возвращает единичный резудьтат, в вашем примере статус отправки, а по факту в результате вы хотите видеть коллекцию (массив, список, набор) статусов всех отправок. Т.е. в какой-то момент должен отработать код, который выполнит агрегацию. Возьмёт единичный результат и добавит его в коллекцию. Чтобы понять где и как это сделать нужно глубоко копнуть скоуп переменных камунды, разобраться как бегают токены в гейтах и мультиинстансах. На этих знаниях решить, что же вам подходит больше в данном случае.
дак я про это и говорю. что скоупы в комунде - далеко не тривиальная вещь.

я пытался с ними разобраться. не каждый гейт создает скоуп. не каждый соединяющий гейт закрывает скоуп.
Если у сервис таски проставлено асинхронное выполненеи - это тоже создает скоуп...

там тааакая нетривиальная матрешка получается, ужас...
источник

SD

Serg D. in Camunda BPM Group
А кто обещал что будет легко?))) моделируйте, тестируйте, изучайте) у меня нет однозначного рецепта для вас
источник

IP

Igor Petetskikh in Camunda BPM Group
так я и говорю про бест практис, а не однозначный рецепт...
источник

SD

Serg D. in Camunda BPM Group
Igor Petetskikh
а вообще, бест практис по поводу возвращения данных из внешних тасок какой?
не делать в паралельных потоках?
Вы спрашиваете бест практис как возвращать результат))) а по факту хотите узнать как его агрегировать)))
источник

IP

Igor Petetskikh in Camunda BPM Group
потому что если не знаем как возвращать, то тем более непонятно что и как аггрегировать =)))
источник

IP

Igor Petetskikh in Camunda BPM Group
но это уже философия пошла, ладно....
источник

A

Alexander in Camunda BPM Group
Всем привет. Из примера @Kotskin делаю процесс. Далее пытаюсь к нему по рест апи обратиться и передать сообщение. В итоге ошибка: org.camunda.bpm.engine.MismatchingMessageCorrelationException: Cannot correlate message 'Message_2bb8460': No process definition or execution matches the parameters
источник

DK

Denis Kotov in Camunda BPM Group
айдишник не тот
источник

A

Alexander in Camunda BPM Group
источник

DK

Denis Kotov in Camunda BPM Group
ааа,  ну а процесс ждёт на этом квадратике уже?
источник

A

Alexander in Camunda BPM Group
{"messageName" : "Message_2bb8460",
"businessKey" : "Test123",
"correlationKeys" : {
   "name" : {"value" : "vasilyevam", "type": "String"}
},
"processVariables" : {
   "name" : {"value" : "vasilyevaya", "type": "String"}
}
}
источник

A

Alexander in Camunda BPM Group
Да
источник

A

Alexander in Camunda BPM Group
источник