Skip to content
广告❤️成为赞助商

流程分支

包括 flowable 在内的其它 bpm 框架叫做 网关 ,这一概念在 flowlong 被称 分支 包含待执行任务,它们在流程设计和执行中扮演着不同的角色。

并行分支

提高工作流的执行效率,可以在同一时间内执行多个任务。

  • 定义与功能: 并行分支允许将流程分成多条分支,也可以把多条分支汇聚到一起。其功能是基于进入和外出顺序流的,即可以分叉(fork)成多个并行分支,也可以汇聚(join)多个并行分支。

  • 特点: 并行分支不会解析条件,即使顺序流中定义了条件,也会被忽略。 并行分支不需要平衡进入和出去流的数量,即进入和出去的分支数量可以不同。

  • 应用场景: 常用于并行执行多个任务,这些任务可以是相互独立的,也可以是相互依赖的。

包容分支

特别适用于需要会签(即多个参与者共同办理)的任务场景。

  • 定义与功能: 包容分支可以看做是排它分支和并行分支的结合体。它允许基于条件选择多条分支执行,但如果没有任何一个分支满足条件,则可以选择默认分支。

  • 特点: 包容分支会在所有外出顺序流上解析条件,并且会并行执行所有条件为true的分支。 在汇聚时,包容分支只会等待被选中执行了的进入顺序流,这是与并行分支的重要区别。

  • 应用场景: 当工作流中的多个任务有不同的执行顺序或条件时,使用包容分支可以实现灵活的流程控制。

条件分支

也用于处理异常情况,将流程路由到特定的异常处理分支。

  • 定义与功能: 排它分支用于在流程中实现决策,即根据条件选择一个分支执行。

  • 特点: 当流程执行到排它分支时,所有分支都会进行条件判断,但只会选择一个条件为true的分支执行。 如果有多个分支条件都为true,排它分支会按照json中定义的顺序来执行,即默认走第一个符合条件的分支。

  • 应用场景: 常用于流程中的决策点,根据条件选择不同的执行路径。

总结对比

分支类型定义与功能特点应用场景
并行分支将流程分成多条分支或汇聚多条分支不解析条件,数量无需平衡并行执行多个任务,提高执行效率
包容分支结合排它分支和并行分支的功能,允许多条分支执行解析条件,并行执行所有true的分支,只等待被选中的进入顺序流灵活控制流程,适用于会签等任务场景
条件分支根据条件选择一个分支执行只选择一个true的分支执行,按定义顺序流程决策点,处理异常情况

更适合中国人的工作流引擎