跳到主要内容

循环节点

概述

循环节点用于在离线开发工作流中重复执行某个已发布的循环任务。用户可以结合多值参数按顺序遍历执行,也可以通过执行条件控制是否继续下一次循环,从而满足循环取数、分批处理、按条件重试和逐次推进等场景。

业务价值

循环节点用于解决工作流中重复执行同一处理逻辑的问题。通过将循环逻辑配置为可复用节点,用户无需手工复制多个相同子流程,即可完成按参数集合批量执行、按条件持续执行,降低任务编排复杂度并提升流程可维护性。

适用场景

循环节点适用于需要多次调用同一离线开发任务的场景。

  1. 按日期列表、分区列表或业务编码列表逐个执行同一子任务。
  2. 使用参数赋值节点生成多值参数后,对每个参数值依次执行下游处理逻辑。
  3. 需要先执行一次任务,再根据执行结果或循环次数判断是否继续下一轮处理。
  4. 需要在单次循环失败时继续处理后续数据批次,避免整条链路中断。

前提条件

使用本功能前,请确认以下条件已满足:

  1. 已进入离线开发工作流编辑页面。
  2. 当前账号具备目标工作流的编辑权限。
  3. 已存在可被引用的离线开发任务,且该任务存在发布态版本。
  4. 当前账号对目标循环任务具备「所有者」或「使用者」权限。
  5. 如需配置遍历参数或执行条件,相关任务参数、动态参数、全局参数或时间宏参数已提前准备完成。

添加循环节点

本章节介绍如何在工作流中新增循环节点并进入配置页面。

入口说明

在「工作流编辑」页面,添加新节点时选择「循环节点」。

分步指南

  1. 在「工作流编辑」页面,点击添加节点入口。
  2. 在节点类型列表中,选择「循环节点」。
    系统在当前工作流画布中新增循环节点。
  3. 点击新增的循环节点,进入节点配置页面。

配置循环模式

本章节介绍循环节点支持的两种循环模式,以及各模式的适用方式。

入口说明

在「循环节点配置」页面,先选择循环模式,再完成节点配置和运行选项配置。

模式说明

循环节点支持以下两种模式:

循环模式说明典型用途
遍历循环按遍历参数的参数值逐次执行循环任务,参数遍历完成后自动退出循环。按日期列表、分区列表、批次列表逐个执行任务。
条件循环先执行一次循环任务,再根据执行条件判断是否继续下一次循环。按结果状态、循环次数或阈值条件持续执行任务。

循环模式默认为「遍历循环」。

配置遍历循环

本章节介绍如何在「遍历循环」模式下选择遍历参数、循环任务和运行选项。

入口说明

在「循环节点配置」页面,将「循环模式」设置为「遍历循环」。

分步指南

  1. 在「循环节点配置」页面,将「循环模式」设置为「遍历循环」。
  2. 配置遍历参数。
配置项说明
遍历参数必填。支持选择全局参数、动态参数、任务参数。支持添加多条。
参数值处理方式系统按参数值逐次遍历,参数值全部遍历完成后自动退出循环。
  1. 选择循环任务。
配置项说明
循环任务必填。仅支持选择当前账号具备「所有者」或「使用者」权限,且存在发布态版本的离线开发任务。
成环校验若所选循环任务与当前任务存在嵌套关系,系统直接报错,不允许保存。
  1. 当循环任务本身有任务参数,并且需要循环传参时,可以配置循环任务参数。
配置项说明
循环任务参数展示循环任务中已定义的任务参数。
参数值来源支持引用当前任务的任务参数、动态参数和全局参数。
多值参数传递规则若多值参数被选为遍历参数,则每次循环传入当前轮次对应的单个值;若未被选为遍历参数,则整体作为多值传入。
  1. 配置运行选项。
配置项说明
容错机制勾选后,某次循环失败时继续执行下一次循环,循环节点整体状态为成功。未勾选时,任一次循环失败都会导致当前循环节点失败。
最大循环次数默认值为 128,取值范围为 2500。当参数尚未遍历完成但已达到最大循环次数时,系统停止继续循环,循环节点状态为成功。

配置条件循环

本章节介绍如何在「条件循环」模式下设置循环任务、执行条件和运行选项。

入口说明

在「循环节点配置」页面,将「循环模式」设置为「条件循环」。

分步指南

  1. 在「循环节点配置」页面,将「循环模式」设置为「条件循环」。
  2. 按需配置遍历参数。
配置项说明
遍历参数非必填。支持选择全局参数、动态参数、任务参数,支持添加多条。
多值参数处理方式若多值参数被选为遍历参数,则条件判断和循环任务入参都按当前轮次的参数值执行;若未被选为遍历参数,则整体作为多值参与传递和判断。
  1. 选择循环任务。
配置项说明
循环任务必填。仅支持选择当前账号具备「所有者」或「使用者」权限,且存在发布态版本的离线开发任务。
成环校验若所选循环任务与当前任务存在嵌套关系,系统直接报错。
  1. 当循环任务本身有任务参数,并且需要循环传参时,可以配置循环任务参数。
配置项说明
循环任务参数展示循环任务中已定义的任务参数。
参数值来源支持引用当前任务的任务参数、动态参数和全局参数。
多值参数传递规则被选中的遍历参数按轮次传值,未选中的多值参数整体传入。
  1. 配置执行条件。
    点击「执行条件」后,系统打开条件配置弹窗。用户可新增一条或多条规则,满足条件时执行下一次循环,不满足时退出循环。
  2. 配置运行选项。
配置项说明
容错机制勾选后,某次循环失败时继续执行下一次循环,循环节点整体状态为成功。未勾选时,任一次循环失败都会导致当前任务失败。
最大循环次数默认值为 128,取值范围为 2500。当执行条件持续满足且已达到最大循环次数时,系统停止继续循环,循环节点状态为成功。

条件循环采用“先执行一次,再判断是否继续”的执行方式。首次执行时不校验执行条件,只有从第二次循环开始才会根据条件决定是否继续。

配置执行条件

本章节介绍条件循环中执行条件的配置规则,包括参数类型、运算符和触发方式。

入口说明

在「循环节点配置」页面,选择「条件循环」模式后,点击「执行条件」。

条件规则

执行条件支持添加多条规则,并通过触发条件控制多条规则之间的关系。

配置项说明
触发条件支持选择「满足所有规则」或「满足任一规则」,默认值为「满足所有规则」。
可选参数支持任务参数、时间宏、动态参数、全局参数和内置参数。
内置参数支持 BUILT-IN_PARAMS.looptimes,表示当前循环次数,值类型为数值。
配置结果展示规则保存后,页面会回显触发条件和每条规则的判断表达式。

按参数类型配置规则

不同参数类型支持的判断方式不同。

参数类型支持的判断类型关键规则
文本范围、条件范围支持小于、小于等于、大于、大于等于、等于、不等于、区间、等于 Null 值、不等于 Null 值;条件支持等于、不等于、包含、不包含、以指定内容开始、以指定内容结尾、不以指定内容开始、不以指定内容结尾。
数值范围支持小于、小于等于、大于、大于等于、等于、不等于、区间、等于 Null 值、不等于 Null 值;可使用数值类型参数或内置参数 looptimes 参与比较。
日期范围支持小于、小于等于、大于、大于等于、等于、不等于、区间、等于 Null 值、不等于 Null 值;可使用日期类型的全局参数、任务参数、时间宏参数和动态参数参与比较。

比较项规则

配置规则时,系统会根据运算符和参数类型自动调整可选输入项。

  1. 当运算符为「等于 Null 值」或「不等于 Null 值」时,不显示比较项和对比值。
  2. 当运算符为「区间」时,可配置起始值和结束值,并选择边界是否包含等值。
  3. 当比较项选择「固定值」时,需手工输入或选择具体值。
  4. 当比较项选择参数类选项时,系统仅展示与当前参数类型一致的可用参数。

查看循环运行详情

本章节介绍循环节点运行后,如何在实例详情中查看每次循环的执行情况和下钻信息。

入口说明

在「任务监控」页面,进入目标任务实例详情后,双击循环节点或点击循环任务名称。

查看内容

进入循环节点实例详情后,可查看以下信息:

查看项说明
默认展示内容默认展示第一次循环的运行日志。
循环次数切换支持切换查看不同循环次数对应的日志。
成功 / 失败页签支持按执行结果区分查看成功和失败的循环记录。
开始时间展示每次循环的开始时间。
运行时长展示每次循环的执行耗时。
下钻查看当循环任务内部仍存在循环节点时,支持继续下钻到循环子任务。

失败循环处理

在失败页签中,可针对失败的子实例继续处理。

  1. 在循环节点实例详情中,切换到失败记录。
  2. 找到目标失败子实例。
  3. 执行重跑操作,重新运行对应失败子实例。

在任务监控中操作循环实例

本章节介绍循环节点执行期间或执行失败后,用户可在任务监控中执行的操作。

入口说明

可通过「任务监控 > 任务实例」页面,或「任务监控 > 循环节点实例记录」页面进入相关实例。

任务实例页面操作

当任务运行到循环节点时,可在任务实例页面执行以下操作:

操作说明
重跑重新运行任务。
从失败处运行从失败次数中的失败节点开始继续运行。
停止当循环仍在执行中时,在当前循环次数中的运行节点处停止执行。

循环节点实例记录页面操作

在「循环节点实例记录」页面,可直接针对循环节点实例执行以下操作:

操作说明
停止在循环次数中的运行节点处停止执行,父任务状态同时变更为停止。
重跑重跑整个循环任务。
从失败处运行从失败次数中的失败节点开始继续运行。

效果示例

以下示例用于帮助理解循环节点在批量处理场景中的典型用法。

操作前:用户需要按多个日期分区依次执行同一个子任务,只能复制多个相同节点或手工反复触发任务。

操作后:用户在循环节点中将日期参数配置为遍历参数,并指定同一个循环任务。任务运行时,系统会按日期值逐次执行该循环任务,直到参数遍历完成或达到最大循环次数。

注意事项/常见问题

本章节汇总使用循环节点时的关键限制和常见处理方式,便于快速排查问题。

注意事项

  • 循环任务仅支持选择存在发布态版本的离线开发任务。
  • 当前任务不能选择自身作为循环任务。
  • 若循环任务与当前任务存在嵌套关系,系统会阻止保存,避免形成任务成环。
  • 多值参数是否被选为遍历参数,会直接影响循环任务接收参数的方式和执行条件的判断方式。
  • 勾选「容错机制」后,即使某次循环失败,循环节点整体仍可能显示为成功。
  • 达到最大循环次数后,系统会停止继续循环;此时循环节点状态仍为成功。

常见问题

  • 问题:为什么系统提示循环任务不能被选择?
    解决方案:请检查该任务是否为当前任务自身,或是否与当前任务存在嵌套引用关系。存在成环风险时,系统不允许保存。
  • 问题:为什么循环没有遍历完所有参数值就结束了?
    解决方案:请检查是否已经达到「最大循环次数」,或当前为条件循环且执行条件已经不再满足。
  • 问题:为什么某次循环失败了,但循环节点整体仍显示成功?
    解决方案:当前节点已启用「容错机制」。启用后,单次循环失败不会中断整个循环节点。
  • 问题:为什么条件循环第一次就执行了,即使执行条件看起来并不满足?
    解决方案:条件循环采用先执行一次循环体、再判断是否继续下一次循环的机制。首次执行不受执行条件限制。

术语解释

在使用本功能前,建议了解以下术语。

术语解释
循环节点在工作流中用于重复执行某个循环任务的节点。
循环任务被循环节点重复调用的离线开发任务。
遍历参数在循环执行过程中按轮次逐个取值的参数。
条件循环先执行一次,再根据执行条件决定是否继续的循环模式。
容错机制单次循环失败时是否继续执行后续循环的控制策略。
最大循环次数循环节点允许执行的最大轮次上限。