嵌套流

嵌套流节点属于控制节点,可以选择嵌套一个其他提交上线的任务,包括节点任务,工作流任务,任务组任务下的工作流,将其作为本工作流的一个节点运行。

嵌套流 - 图1 2021-08-27-14-26-42.png

  1. “嵌套任务”约定嵌套一个其他稳定运行的线上任务,因此被嵌套的任务必须已提交上线,可以没有设置线上调度。当在开发模式修改被嵌套的任务时,也需 提交上线才可生效。当执行嵌套流节点时,被嵌套的线上任务独立运行,不影 响其正在运行的调度任务。被嵌套任务可以是节点任务,工作流任务,任务组 下的某一个工作流。嵌套流节点可以被跨流依赖。
  2. “失败自动重试”选中,并填入”重试次数”和”重试间隔”,可以使节点执行失败时 执行相应的重试略。
  3. “节点属性”可以添加自定义变量。
  4. “嵌套流参数”可以添加被嵌套任务的自定义变量,会传递到被嵌套任务下的每 个节点的节点属性里。

下面就嵌套流节点的使用进行举例说明: 工作流任务flow_A有两个sql节点select_a、select_b, 执行时需先执行select_a,然后执行另一个工作流任务flow_B, 最后执行select_b,可以使用嵌套流节点将 flow_B作为flow_A执行依赖的一部分flow_A如下图: 嵌套流 - 图3 WechatIMG137.png 嵌套流节点nest的配置如下: 嵌套流 - 图5 WechatIMG138.png 其中定义的嵌套流参数table、db、msg可在flow_B的节点中使用 flow_B作业流如下图: 嵌套流 - 图7 WechatIMG139.png flow_B的echo节点如下图: 嵌套流 - 图9 WechatIMG140.png flow_B的select节点如下图: 嵌套流 - 图11 WechatIMG141.png