0

我想知道 Camunda 如何管理子流程的多个实例。例如这个 BPMN 在此处输入图像描述

假设多实例进程将迭代一个大集合,500 个实例。

我在一个 Web 应用程序中有一个函数,它调用端点来完成user common task,并对 camunda 引擎执行另一个调用以获取所有任务(在第一个 API 调用回调中)。我应该得到一个包含 500 个子流程用户任务的列表(由多实例流程生成的那些)。

如果get tasks调用是在 Camunda Engine 成功实例化所有子流程之前执行的呢?

我得到部分任务列表吗?

如何检测主进程和子进程是否准备就绪?


我真的不知道 Camunda 是否能够自己解决这个问题,所以我考虑了以下解决方案,知道我只能使用带有 Groovy 的 Modeler 环境来添加代码(Javascript 也是如此,但已经添加的整个代码部分都是 groovy ):

  • 使用子进程 throw 事件在主进程中捕获,然后对发出的每个信号计算并比较准备好的任务与等待的任务数。

谢谢

4

1 回答 1

0

我可能会将任务生成为并行进程(或其中的 500 个),然后进入下一步,在该步骤中我发出信号或以其他方式设置指示生成已完成的状态。我将进一步将并行进程再次合并在一起,并在此处发出任务信号或以其他方式设置指示所有并行进程已完成的状态。请参阅https://docs.camunda.org/manual/7.12/reference/bpmn20/gateways/parallel-gateway/。这样您就可以确切地知道在什么时候(在生成完成之后和加入之前)您有机会获得 500 个生成的子进程

于 2020-02-26T18:17:50.880 回答