子流程节点

综述

子流程节点,就是把外部的某个工作流定义当做一个节点去执行。

创建任务

  • 点击项目管理 -> 项目名称 -> 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面:

  • 拖动工具栏的 SubProcess - 图1 任务节点到画板中。

任务参数

  • 节点名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。
  • 运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。
  • 描述:描述该节点的功能。
  • 任务优先级:worker 线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。
  • Worker 分组:任务分配给 worker 组的机器执行,选择 Default 会随机选择一台 worker 机执行。
  • 环境名称:配置运行脚本的环境。
  • 超时告警:勾选超时告警、超时失败,当任务超过”超时时长”后,会发送告警邮件并且任务执行失败.
  • 子节点:是选择子流程的工作流定义,右上角进入该子节点可以跳转到所选子流程的工作流定义。
  • 前置任务:选择当前任务的前置任务,会将被选择的前置任务设置为当前任务的上游。

任务样例

该样例模拟了常见的任务类型,这里我们使用子结点任务调用 Shell 打印出 ”hello world“。即将一个 shell 任务当作子结点来执行。

创建 shell 任务

创建一个 shell 任务,用于打印 “hello”。并为该工作流定义为 test_dag01。

subprocess_task01

创建 sub_process 任务

在使用 sub_process 的过程中,需要创建所需的子结点任务,也就是我们第一步所创建的 test_dag01 工作流。然后如下图所示,在 ⑤ 的位置选择对应的子结点即可。

subprocess_task02

创建 sub_process 完成之后,再创建一个对应的 shell 任务,用于打印 “world”,并将二者连接起来。保存当前工作流,并上线运行,即可得到想要的结果。

subprocess_task03

注意事项

在使用 sub_process 调用子结点任务的时候,需要保证定义的子结点为上线状态,否则 sub_process 的工作流无法正常运行。