更新时间:2024-07-11 GMT+08:00
分享

为AstroZero工作流添加网关类图元

网关类图元用来控制流程的执行流向,可理解为决策、判断。

排他网关

排他网关用来在流程中,实现一组分支的唯一决策。系统将按照“条件顺序”评估流出网关的分支,流程会执行第一个连线条件被评估为true(当多个条件为true时,将执行第一个决策)的分支,并且不再继续评估下面的分支。如果所有分支条件决策都为false且该网关定义了一个默认的连线,那么该默认分支将被执行。如果没有可到达的分支,抛出异常,流程被中断,在工作流设计上应避免这种情况发生。

图1 排他网关配置页面
图2 分支连线配置

并行网关

并行网关用于无条件的合并分支,该类网关对连线条件是忽略的。允许流程多进一出,引出的多个分支被工作流引擎并发执行。 并行网关是成对出现的,一对网关中可以有多个并行分支的。

图3 并行网关

包容网关

包容网关是一类特殊的并行网关,在并行网关的基础上每条连线都可以配置一个条件,符合条件的连线分支都将被并行执行。都不符合,如果配置了默认分支,将会执行默认分支。每个包容网关都应该成对出现,从包容发散网关出发最终连接到汇聚网关。

图4 包容网关

事件网关

通常网关根据连线条件来决定后续路径,这要求条件信息必须存在于流程自身之中。但是,当需要选择的后续路径的条件不是来自该流程时,可以使用事件网关。事件网关只有分支行为,允许从多个候选分支中选择事件最先到达的分支(如时间事件、消息事件),并取消其他分支。

事件网关之后的连线目标必须是一个“捕获信号”或者“捕获时间”。

图5 事件网关

相关文档