workflow中触发器任务详解

  原理
内容纲要

概要描述


通常情况,工作流和工作流之间并没有联系,但是如果需要将工作流中的 某任务 A 依赖于另一个工作流中的任务 B,这时需通过触发器实现。

注意:触发器由于功能局限,在 studio 2.0 之后的版本已经弃用该功能。

详细说明


  1. 触发器功能介绍
    在任务 A 所在的工作流中新建触发器,在触发器中选中属于另一个工作流中的任务 B,设置触发周期,然后让任务 A 依赖此触发器, 在触发周期内任务 B 执行完成后会触发触发器,接着触发器触发任务 A, 达到任务 A 依赖任务 B 的目的。

  2. 触发器配置界面解释
    file
    名称:必填项,任务的名称,不能与同一工作流内其他任务重复。若任务名称过长,名称末尾部分会以 “… ”代替。
    注意:名称中间不能包含空格。
    描述:任务的简要描述,可以为空。
    选择任务:在这里选择该触发器要依赖的任务,只能依赖其它工作流中的任务。
    周期:指定一个时间段,如果被依赖任务在该时间段内有一次执行成功的记录,就触发该触发器,默认值为当天
    1) 自定义
    file
    A. 第一个输入框中填写时间段的起始点(以当前工作流的调度时间为参照点),值可以为正数、负数或者零, 正数表示以参照点之后的某一点为起始点,负数表示以参照点之前的某一点为起始点,零表示与参照点一致; 单位有 s(秒)、m(分)、 h(时)、d(天)。
    B. 第二个输入框填写时间段的跨度,值可以为正数或者零,单位有 s(秒)、m(分)、h(时)、d (天)。

    上图中参数的含义是,从工作流被调度前一小时到调度后一小时的时间段中,如果被依赖的任务执行成功,就触发该触发器;被依赖的任务执行失败,则触发器任务将一直处于等待状态。 若当前工作流在 2:00 AM 被调度,如果被依赖任务在 1:00 AM-3:00 AM 成功执行,那么就触发调度。
    2) 当天
    file
    若被依赖的任务在当天执行成功了,该触发器就会被触发,从而触发下游任务。 注意 “当天” 不以任何工作流的触发时间为参照点,单纯指当天的 0:00AM~24:00PM。

  3. 参考案例
    触发器任务 middledata.miniapp_visit_log 在每小时的 10分 调度, SQL任务 middledata.miniapp_visit_log_all 在每小时的 38分 调度。
    file
    触发器任务配置如下图,即被依赖的任务在 每小时的36分 – 每小时的46分 之间成功执行,才可以触发调度。
    file
    但该触发器中配置的任务在 每小时10分 才调度,所以如果不调大自定义的周期的话,SQL任务就不会被调度。
    file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。