条件分支
更新时间:2024-08-16
条件分支
模板是由多个任务构成的有向无环图(directed acyclic graph,简称DAG),你可以在DAG中构造分支,并通过上游任务的执行结果,选择执行哪一条分支。
一个示例模板如下所示:
{
"operators": [
{
// 根据该任务的输出决定分支
"name": "上游任务",
"operator": "BCE::CallAPI",
},
{
// 通过内置任务'BCE::SwitchTo'定义条件分支
"name": "分支选择",
"operator": "BCE::SwitchTo",
"properties": {
"switch": [
{
"case": {"Ref": "success"},
"next": "分支1",
},
{
"case": {"Fn::Not": {"Ref": "success"}},
"next": "分支2",
},
],
"default": "分支1",
}
},
{
// 下游分支1
"name": "分支1",
},
{
// 下游分支2
"name": "分支2",
},
{
// 分支合并后的任务
"name": "分支合并",
},
],
"links": [
{"src": "上游任务", "dst": "分支选择"},
{"src": "分支选择", "dst": "分支1"},
{"src": "分支选择", "dst": "分支2"},
{"src": "分支1", "dst": "分支合并"},
{"src": "分支2", "dst": "分支合并"},
]
}
构建的模板如下所示:
若"上游任务"输出success=true
,则会运行分支1,分支2会被跳过(state=SKIPPED),执行结束后的状态如下图所示: