我有一个使用问题,我需要一些建议。
我有一个主循环的进程循环,每隔 n 小时重试一个任务,直到满足条件或达到超时。到现在为止还挺好。
触发的事务子进程与此主循环并行运行,只要此主循环处于活动状态,就会执行自己的循环行为(每个 x 天)。只要主循环继续,第二个循环应该运行,并且一旦主循环达到其进展标准之一就被杀死。
我想建模的方法是在主流完成其进度标准后使用来自主流的消息/信号抛出事件,并将相应的捕获消息/信号作为子进程的边界事件,然后在子流程的边界内触发子流程结束/终止事件。
我对资源和标准看起来很长很难,我看不到任何人以这种方式使用边界事件的例子(作为子进程外部的输入,导致子进程内的结束事件处理)。不知道这是否有效?
如果无效,任何人都有更好的方法让主流以这种方式杀死子进程?
答案 0 :(得分:0)
主要流程:启动,并行网关(fork),第一个分支包含子进程1,第二个分支包含子进程2,独占网关(join),结束。
子进程1:在某些条件下启动,循环,退出循环,然后结束。
子进程2:启动,循环,无结束节点。
这样,子进程2就不会导致自己的循环结束。但是子进程1可以结束,并且通过独占连接网关,子进程2也将结束。
我不太确定在BPMN中是否实际允许并行fork,后跟独占连接。但是有些工具可以处理它,我从工具供应商那里得到了这个提示(Bonita)。