本文为您介绍如何配置节点的生成实例方式、重跑属性和调度周期等时间属性。

进入时间属性

  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  4. 数据开发面板,双击打开相应节点的编辑页面。
  5. 单击右侧的调度配置,在时间属性区域,设置节点的生成实例方式、重跑属性和调度周期等属性。
    时间属性

实例生成方式

节点的实例生成方式包括T+1次日生成发布后即时生成
  • T+1次日生成:全量转实例。
    • 每天23:30前提交发布的任务,第二天实例生效。
    • 每天23:30后提交发布的任务,第三天实例生效。
  • 发布后即时生成:详情请参见实时转实例

节点状态

  • 正常调度:按照调度周期的时间配置调度,并正常执行,通常任务默认选中该项。
  • 空跑调度:按照调度周期的时间配置调度,但都是空跑执行,即一调度到该任务便直接返回成功,没有真正的执行任务。
  • 重跑属性:包括运行成功或失败后皆可重跑运行成功后不可重跑,运行失败后可以重跑运行成功或失败后皆不可重跑,请根据自身需求进行选择。
    说明
    • 如果您未选择重跑属性,则不可以提交节点。
    • 当选择运行成功或失败后皆不可重跑时,您需要在注意对话框,单击确认
  • 出错自动重跑:如果重跑属性设置为运行成功或失败后皆可重跑运行成功后不可重跑,运行失败后可以重跑时,会显示该属性,您可以配置任务出错自动重跑的次数和间隔。
    • 出错自动重跑次数:默认重跑3次,您可以进行修改。出错自动重跑的次数最少设置为1次,最多设置为10次。
    • 出错自动重跑间隔:默认每次重跑的间隔为2分钟,您可以进行修改。出错自动重跑间隔最少设置为1分钟,最多设置为30分钟。

    如果设置为运行成功或失败后皆不可重跑,则不会显示该属性,即任务出错不会自动重跑。

  • 生效日期:调度在有效日期内生效并自动调度,超过有效期的任务将不会自动调度。
  • 暂停调度:暂停调度后,会根据调度周期的时间配置调度,但是一旦调度到该任务会直接返回失败,不会执行。通常用于某个任务暂时不用执行,但后面还会继续使用的场景。

调度周期

DataWoks中,当一个任务被成功提交后,底层的调度系统从第二天开始,将会每天按照该任务的时间属性生成实例,并根据上游依赖的实例运行结果和时间点运行。23:30之后提交成功的任务从第三天开始才会生成实例。

例如,一个任务需要每周一执行一次,则只有运行时间是周一的情况下,该任务才会真正执行。运行时间不是周一的情况下,该任务会空跑(直接将任务置为成功),不会实际运行。所以在测试或补数据时,周调度任务需要选择业务日期为运行时间-1

一个周期运行的任务,其依赖关系的优先级大于时间属性。在时间属性决定的某个时间点到达时,任务实例不会马上运行,而是先检查上游是否全部运行成功。
说明
  • 上游依赖的实例没有全部运行成功,并且已到定时运行时间,则实例仍为未运行状态。
  • 上游依赖的实例全部运行成功,并且未到定时运行时间,则实例进入等待时间状态。
  • 上游依赖的实例全部运行成功,并且已到定时运行时间,则实例进入等待资源状态准备运行。

如果您选择依赖上一周期,配置方法请参见依赖上一周期

调度周期包括分钟小时
  • 分钟调度:即每天指定的时间段内,调度任务按N*指定分钟的时间间隔运行一次。
    如下图所示,每天00:00~23:59的时间段内,每隔30分钟调度一次。分钟调度

    目前分钟仅支持最小5分钟的粒度,时间表达式根据上面选择的时间生成,不能手动修改。

  • 小时调度:即每天指定的时间段内,调度任务按N*1小时的时间间隔运行一次。例如,每天01:00~04:00的时间段内,每1小时运行一次。
    说明 时间周期根据左闭右闭原则计算。例如,配置调度任务在0点~3点的时间段内,每隔1个小时运行一次。表示时间区间为[00:00,03:00],间隔为1小时,调度系统每天将生成4个实例,分别在0点、1点、2点和3点运行。
    小时调度
    如上图配置所示,每天00:00~23:59的时间段内,每隔6小时会自动调度一次,因此调度系统会自动为任务生成实例并运行。生成并运行
  • 日调度:即调度任务每天自动运行一次。新建周期任务时,默认的时间周期为每天0点运行一次。您可以根据需要自行指定运行时间点,例如下图指定每天13点运行一次。日调度
    • 如果勾选定时调度,则每日任务实例运行的具体时间当日的时:分:秒
      说明 调度任务需要满足上游任务执行成功,并且已到定时时间两个条件,任务才能成功执行。任何一个条件没有满足都无法执行,两个条件没有先后顺序。
    • 如果不勾选定时调度,则每日任务实例运行的时间为当天日期年-月-日。默认调度时间从00:00~00:30随机生成。

    例如,导入、统计加工和导出任务,都是天任务,具体时间如上图的13:00。配置统计加工任务依赖导入任务,导出任务依赖统计加工任务(即统计加工任务的依赖属性配置上游任务为导入任务)。

    根据上述配置,调度系统会自动为任务生成实例并运行。生成并运行
  • 周调度:即调度任务每周的特定几天,在特定时间点自动运行一次。如果在没有被指定的日期时,为保证下游实例正常运行,系统会生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。周调度

    如上图所示,每周一、周五两天生成的实例会正常的调度执行,而周二、周三、周四、周六以及周日5天都是生成实例后直接设置为运行成功。

    上图的配置,调度系统会自动为任务生成实例并运行。生成实例
  • 月调度:即调度任务在每月的特定几天,在特定时间点自动运行一次。如果在没有被指定的日期时,为保证下游实例正常运行,系统会每天生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。月调度

    如上图所示,每月1日生成的实例会正常的调度执行,其它日期每天都是生成实例并直接设为运行成功。

    上图的配置,调度系统会自动为任务生成实例并运行。生成并运行