2

或者我应该说,实现并行拆分任务的正确方法/工具是什么?

对于工作流中涉及的实体,我有一个单一的状态/状态。我可以为每个并行路径添加一些额外的状态,但有没有更好的方法来做到这一点?

谢谢

编辑

这还不是一个完整的答案,但经过大量研究后我最终做的是为状态机创建一种包装器。我查看的现有工具开销太大,无法满足我的需求。每个状态机都是一个“进程”,进程的每个状态都是“会话”的一部分。一个会话又具有一个会话密钥,它只是每个进程当前状态的集合。

我将会话密钥令牌序列化为字符串,因此持久会话看起来像这样:

"enroll=get-contact|verify=null|authorize=null"

各种状态的触发器可以将并行拆分指定为目标。实际上它似乎工作得很好。

4

1 回答 1

2

状态机与状态之间的执行语义无关。状态机所做的只是呈现状态之间的转换以及在转换期间发生验证和运行的逻辑。

在转换期间运行的逻辑本身可以并行运行,例如通过产生新线程。线程可以与执行异步运行,也可以生成它们,然后作为主线程的一部分加入主线程。

于 2013-11-05T05:14:15.567 回答