Поведение Camunda Engine с массивными процессами нескольких экземпляров и состоянием готовности - PullRequest
0 голосов
/ 25 февраля 2020

Интересно, как Камунда управляет несколькими экземплярами подпроцесса. Для примера этого BPMN: enter image description here

Допустим, процесс нескольких экземпляров будет повторяться в большой коллекции, 500 экземпляров.

У меня есть функция в веб-приложении, которая вызывает конечную точку для завершения user common task и выполняет еще один вызов движку camunda для получения всех задач (при первом обратном вызове API). Я должен получить список из 500 пользовательских задач подпроцесса (сгенерированных процессом нескольких экземпляров).

Что делать, если вызов get tasks выполняется до того, как Camunda Engine успешно инстанцирует все подпроцессы?

Получу ли я частичный список задач?

Как определить, что основной и вспомогательный процессы готовы?


Я действительно не знаю, может ли Камунда справиться с этой проблемой c самостоятельно, поэтому я подумал о следующем решении, зная, что могу использовать только среду Modeler с Groovy для добавления кода (Javascript как хорошо, но все уже добавленные части кода: groovy):

  • Использование события броска подпроцесса, чтобы перехватить основной процесс, затем подсчитать и сравнить готовые задачи с номером ожидаемых задач для каждого сигнала

Спасибо

1 Ответ

0 голосов
/ 26 февраля 2020

Я, вероятно, мог бы порождать задачи как параллельный процесс (или 500 из них), а затем перейти к следующему шагу, на котором я сигнализирую или иным образом устанавливаю состояние, которое указывает, что порождение завершено. Кроме того, я бы снова присоединился к параллельным процессам все вместе снова и имел бы здесь задачу, сигнализирующую или иным образом устанавливающую состояние, которое указывает, что все параллельные процессы выполнены. См. https://docs.camunda.org/manual/7.12/reference/bpmn20/gateways/parallel-gateway/. Таким образом, вы можете точно знать, в какой момент (после создания и до объединения) у вас есть шанс получить 500 порожденных подпроцессов

...