功能简介

归并任务用于对上游节点的运行状态进行归并,统一为一个明确的终态结果,从而解决分支任务下游节点的依赖挂载与运行触发问题。

在分支场景中,分支任务每次运行只会命中并执行其中一条分支路径,其余分支会因「分支条件不满足」而跳过。此时如果某个下游任务同时依赖了多条分支的输出,按常规依赖逻辑它将永远无法满足「所有上游都成功」的条件,导致下游无法触发。

归并任务通过自定义的归并逻辑(如「任一分支完成即视为成功」),把多个分支的状态归并成一个统一的终态结果,使下游任务能够正常被触发或被合理跳过。

什么场景下建议使用归并任务

归并任务的核心价值在于处理分支后下游的依赖触发问题。当出现以下情况时,建议使用归并任务:

  1. 分支下游需要「任一分支完成即继续」

分支任务每次运行只会命中一条分支路径,其余分支会被跳过。如果下游任务同时依赖了多条分支的产出,按普通依赖会因「并非所有上游都成功」而无法触发。

此时用归并任务以「」逻辑归并这些分支状态——任一分支完成即视为满足,下游即可正常被触发。

  1. 多条分支汇聚到统一的下游处理

多条分支分别处理不同来源或不同逻辑的数据(如多渠道、多业务线),最终都要汇入同一个下游任务(统一报表、汇总宽表、统一入仓)。 用归并任务把这些分支的状态统一成一个终态,作为下游的单一依赖入口,避免下游挂多个无法同时满足的分支依赖。

  1. 下游的触发条件是「逻辑组合」而非「全部成功」

当下游是否运行取决于多个上游的组合判定(如「A 成功 或 B 成功」「A 成功 且 B 分支未命中」),而不是简单的「所有上游都成功」时,可用归并任务的「且 / 或」组合 + 多种终态(成功 / 失败 / 分支条件不满足)来精确表达这种触发逻辑。

  1. 需要对分支结果做容错 / 兜底

希望下游在分支失败或未命中时也能按预期处理(例如走兜底逻辑、或明确跳过),可通过归并条件中选择对应的终态来实现,把不确定的分支结果收敛成一个确定的下游触发信号。

不建议使用的情况

  • 上游没有分支、是普通的线性依赖:直接使用标准的调度依赖即可,无需引入归并任务。
  • 下游只依赖单一上游、且就是「上游成功才运行」:用普通依赖更简单清晰。
  • 需要临时运行 / 补数的任务:归并任务暂不支持临时运行与补数(详见「使用限制」)。

核心概念

终态(执行状态)

归并条件依据上游节点的终止状态进行判断,支持以下三种:


创建与配置归并任务

新增归并任务后,通过可视化拖拽的方式完成归并逻辑配置。

归并条件设置

每条归并条件包含两部分配置:

  1. 选择上游任务 与任务调度依赖一致,可通过任务名称、输出名、输出表名的方式选择上游任务。
  1. 选择该任务的执行状态 即上游节点的终止状态:成功、失败、分支条件不满足(详见上文「终态」说明)。

支持添加多个归并条件,并通过「且 / 或」组合这些条件的判定关系。

执行状态说明
成功节点正常运行完成
失败节点运行失败
分支条件不满足上游为分支节点,本次判断未命中该分支,分支逻辑未触发

逻辑关系

当配置了多个归并条件时,条件之间支持「且」「或」运算:

  • 且(AND):上游所有分支节点均需处于终态(即运行完成),并且全部满足各自设置的执行状态时,「执行结果设置」中配置的本节点运行状态才会生效。
  • 或(OR):上游所有节点均需处于终态(即运行完成),并且任意一个分支节点满足其设置的执行状态时,「执行结果设置」中配置的本节点运行状态才会生效。

归并条件与调度依赖的关系

归并条件本质上也是「选择上游依赖任务并对其状态进行归并」,因此它与「调度依赖」配置之间存在单向自动同步关系:

  • 用户点击保存时,系统会自动将归并条件中依赖的上游任务添加到「调度依赖」配置中。
  • 反之,「调度依赖」中手动添加的任务依赖,不会自动回填到归并条件中。

示例: 归并任务对「分支下游1」「分支下游2」的状态进行归并,同时在调度依赖中额外依赖了「报表2」。 那么归并任务的运行条件为:「分支下游1」「分支下游2」满足归并条件之后还需等待「报表2」执行完成,才会正式执行。

联系我们
预约咨询
微信咨询
电话咨询
邮件咨询