或者我应该说,实现并行拆分任务的正确方法/工具是什么?
我有工作流中涉及的实体的单个状态/状态。我可以为每个并行路径添加一些额外的状态,但是有更好的方法吗?
谢谢
编辑
这还不是一个完整的答案,但经过大量研究后我最终所做的是为状态机创建一种包装器。我看到的现有工具开销太大,无法满足我的需求。每个状态机都是一个“进程”,进程的每个状态都是“ session ”的一部分。 session 又具有 session key ,它只是每个进程当前状态的集合。
我将 session key token 序列化为字符串,因此持久 session 如下所示:
"enroll=get-contact|verify=null|authorize=null"
各种状态的触发器可以指定并行分割作为目标。实际上看起来效果很好。
最佳答案
状态机与状态之间的执行语义无关。状态机所做的就是呈现状态之间的转换以及在转换期间验证和运行的逻辑。
转换期间运行的逻辑本身可以并行运行,例如通过生成新线程。线程可以与执行异步运行,也可以生成它们,然后作为主线程的一部分连接回主线程。
关于workflow - 使用状态机模式可以实现并行拆分工作流吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734862/