帮你快速理解、总结文档立即下载

IF ELSE 条件任务

最近更新时间:2026-09-11 20:57:31
我的收藏
IF ELSE 条件任务(条件节点)用于在工作流中实现分支逻辑:根据条件计算结果,决定下游任务链路是否执行。

概述

条件节点常用于:
按时间维度触发不同业务流程(如季度末走结算流程,月末走对账流程)。
按上游运行结果选择不同处理路径(如成功走 A 链路,失败走告警链路)。
按外部参数动态决定执行内容。
通用配置(任务名称、上游依赖、参数、监控指标、告警、失败与超时策略)请参考 配置任务

前提条件

已是工作流所有者或具备「管理」权限。
工作流中已存在或将创建用于条件结果分支的下游任务。

操作步骤

步骤 1:创建条件节点

1. 在工作流画布单击 + 添加任务
2. 任务类型选择 IF ELSE

步骤 2:配置条件

条件节点支持配置多组条件,每组条件关联不同的下游任务。

添加条件

1. 任务配置面板的 条件配置 区域单击 添加按钮 ,弹出条件配置弹窗。
2. 选择 简单模式高级模式
3. 配置条件后单击 确定

简单模式

参数
说明
是否必填
参数值 1
输入框,支持常数和系统内置参数(如 {{workflow.start_time.iso_date}}{{tasks.<name>.values.<key>}})。
运算符
单选下拉:== / != / > / < / >= / <=
参数值 2
输入框,规则同参数值 1。
支持的运算符:
运算符
名称
说明
==
等于
字符串比较
!=
不等于
字符串比较
>
大于
数值比较(浮点)
<
小于
数值比较(浮点)
>=
大于等于
数值比较
<=
小于等于
数值比较
提示
使用 == / != 时参数值按字符串处理;使用 > / < / >= / <= 时按数值(浮点)处理。

高级模式

输入框中以 Python 风格表达式描述条件,最长 512 字符,例如:
{{tasks.upstream.values.month}} == 12 and {{workflow.start_time.day}} == 31

关联下游任务

参数
说明
是否必填
条件关联任务
多选下拉,选项为当前工作流下除当前任务外的所有任务。
条件描述
选填,最长 512 字符。
注意
关联任务不能选择条件节点的直接或间接上游,否则提交时会被拦截并提示「任务图不能包含循环依赖」。同一关联任务不能在多个条件中重复使用。

步骤 3:在画布连线建立条件分支

除任务配置面板外,画布上为条件节点连接下游时也会触发条件配置:
1. 从条件节点连接到下游任务。
2. 系统自动弹出条件配置弹窗,条件关联任务 默认选中刚连接的下游。
3. 完成条件配置后单击 确定

步骤 4:管理条件列表

条件配置区域以列表展示所有已配置条件:
字段
说明
条件编号
系统生成
条件
简单模式或高级模式表达式
条件关联任务
关联的下游任务名称
条件描述
用户填写的描述
操作
编辑 / 删除
最多配置 50 条条件,超出后添加按钮置灰。

步骤 5:上游依赖、参数、监控指标、告警、失败与超时策略

参考 配置任务。条件节点的告警支持启动、成功、失败、持续时间告警。

步骤 6:保存

单击 创建任务保存任务
提示
保存任务时,对于在条件配置中关联的下游任务,如果该任务未将条件节点配置为上游,系统会自动添加上游依赖。

运行行为

条件节点本身

满足条件:节点状态为「成功」,按下游任务的运行条件继续触发执行。
不满足条件:节点状态为「成功」(条件计算正常),但 不满足条件分支下的下游节点(含间接下游)会自动置为「排除运行」状态

下游任务运行详情

不满足条件被排除运行的任务在运行详情页展示:
当前节点因上游条件节点 "task_name"、"task_name_2" 不满足条件,自动排除运行

单独运行、重跑

条件节点支持单独运行或重跑,运行结果正常展示。条件单独运行不会触发下游执行。

条件节点运行详情

条件节点运行详情页展示条件列表:
说明
条件编号
与配置时一致
条件
原始条件
条件解析
参数替换后的实际条件,例如 12 == 12
条件关联任务
关联任务名(点击跳转配置页)
条件结果
true / false(运行成功后展示)
如条件节点本身失败:
条件节点运行失败,失败原因:{关键错误日志}

使用限制

单条件节点最多配置 50 条条件。
关联任务不能选择直接或间接上游(避免循环依赖)。
同一下游任务不能在多个条件中重复关联。
条件高级模式表达式最长 512 字符。

常见问题

Q1:条件节点的上游有 SQL 任务,如何在条件中使用 SQL 输出? 通过参数引用:
{{tasks.upstream_sql.output.first_row.month}} == 12
Q2:条件不满足时下游被「排除运行」,更下游的任务能继续执行吗?
如果更下游的任务上游均被排除运行,按下游任务的「运行条件」决定。例如运行条件设为「全部完成」会触发执行;设为「全部成功」会进入「上游失败」状态。
通常建议在分支汇聚点使用「没有失败且至少一个成功」运行条件,避免排除运行向下传播。
Q3:高级模式中支持哪些语法? 高级模式支持 Python 条件表达式语法,包括:
比较运算符:==!=<><=>=
逻辑运算符:andornot
括号 () 用于分组
Python 内置函数(如 len()str()int() 等)
建议尽量保持简洁,复杂逻辑可拆为多条简单条件。

相关文档