使用 Camunda 设计并发进程启动和关联
Designing concurrent process start and correlations with Camunda
我正在规划一个简单的工作流程(右侧蓝色显示),它应该接收属于同一订单的货件,并在收集完所有货件后继续流程。
通过 REST 接收货物,我计划使用作为请求一部分的 order_id 关联到正确的工作流实例。 REST 服务在集群中 运行,因此此时无法进行虚拟机内锁定。
我发现此设计存在两个严重问题:
并发入库货件请求将无法关联,因此它们将同时启动多个工作流实例
即使流程启动成功,当同时发货请求尝试更新同一个工作流实例的变量时,Camunda也会抛出并发修改异常
我该如何设计这个场景来避免这些问题?
如何在子流程中处理货物并在所有货物发货后通知主流程。像这样:
编辑:根据评论更新图表。
我正在规划一个简单的工作流程(右侧蓝色显示),它应该接收属于同一订单的货件,并在收集完所有货件后继续流程。
通过 REST 接收货物,我计划使用作为请求一部分的 order_id 关联到正确的工作流实例。 REST 服务在集群中 运行,因此此时无法进行虚拟机内锁定。
我发现此设计存在两个严重问题:
并发入库货件请求将无法关联,因此它们将同时启动多个工作流实例
即使流程启动成功,当同时发货请求尝试更新同一个工作流实例的变量时,Camunda也会抛出并发修改异常
我该如何设计这个场景来避免这些问题?
如何在子流程中处理货物并在所有货物发货后通知主流程。像这样:
编辑:根据评论更新图表。