模版排他网关
排他网关:我们模版中定义的子任务执行流程也支持添加网关,其中网关分为两种并行网关、排他网关
排他网关的作用:根据前面执行过的子任务,判断子任务的返回值或者变量从而决定执行哪一条子任务流程,判断条件支持以下:
- 根据前面执行过的子任务返回值判断
- 根据前面执行过的子任务变量判断
排他网关中还有一个功能:默认连线,就是所有条件都不匹配的情况下,会走默认连线的子任务,当使用排他网关时必须配置默认连线
匹配走向流程:有匹配到的的走匹配到的,有多条匹配到的走第一条匹配到的,都没匹配到走默认连线
注意事项:
- 排他网关节点后边不能直接跟并行网关
- 并行网关要求上一级节点全都要执行完成,排他明显没办法全都执吗,只能选其中一条路执行
一、子任务引用前缀
在我们使用模版排他网关时,非常的依赖一个功能,哪就是子任务引用前缀,在我们使用 排他网关根据前面执行过的子任务返回值判断时,我们就需要通过 子任务引用前缀.变量名
获取到具体执行过的子任务返回值,从而来进行判断该返回值的值,而执行那些任务
以下为查看子任务引用前缀的流程:任务管理 --> 子任务 --> 点击查看具体子任务详细信息
二、根据子任务返回值判断执行流程
2.1、创建脚本类型子任务
任务名称为:测试子任务脚本,子任务引用前缀:SUBTASK_3_RESULT
#!/bin/bash
# 获取变量 test1
echo "这是:{{ test1 }}"
# 获取变量 test2
echo "这是:{{ test2 }}"
# 获取变量 test3
echo "这是:{{ test3 }}"
# 子任务返回值变量 name
echo [[ name::lixinhao ]]
2.2、模版使用排他网关案例
创建模版:测试网关2,测试使用排他网关
2.2.1、添加排他网关
2.2.2、添加子任务(配置流转条件)
以上我们在子任务执行配置了流转条件,当前前缀 SUBTASK_3_RESULT 这个子任务,返回结果的name变量为kaiyin就会执行该子任务,
接下来我们再添加一个子任务配置流转条件,当前缀 SUBTASK_3_RESULT 这个子任务,返回结果的name变量为lixinhao就会执行该子任务
2.2.3、添加子任务(配置默认连线)
排他网关中还有一个功能:默认连线,就是所有条件都不匹配的情况下,会走默认连线的子任务,当使用排他网关时必须配置默认连线
2.2.4、执行任务测试
以上的模版:测试网关2,我已经添加到了任务当中,在任务当中赋予对应的变量之后执行即可
三、根据子任务变量判断执行流程
3.1、目前任务中变量的赋值
3.2、子任务配置流转条件(基于子任务变量判断)
3.3、最终模版流程
3.4、执行任务测试
以下可以看到我们执行一条的子任务,因为我们的任务变量中 test1的值为 test1