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

进入时间属性

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

实例生成方式

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

节点状态

  • 正常调度:按照调度周期的时间配置调度,并正常执行,通常任务默认选中该项。
  • 空跑调度:按照调度周期的时间配置调度,但都是空跑执行,即一调度到该任务便直接返回成功,没有真正的执行任务。
  • 重跑属性:包括运行成功或失败后皆可重跑运行成功后不可重跑,运行失败后可以重跑运行成功或失败后皆不可重跑,请根据自身需求进行选择。
    说明
  • 出错自动重跑:如果重跑属性设置为运行成功或失败后皆可重跑运行成功后不可重跑,运行失败后可以重跑时,会显示该属性,您可以配置任务出错自动重跑的次数和间隔。
    • 出错自动重跑次数出错自动重跑次数参数配置为n,目标任务实际执行时会重跑n-1次。出错自动重跑次数默认配置为3,最少配置为1(即任务出错后不会自动重跑),最多配置为10(即任务出错后会自动重跑9次),您可以根据业务需求进行修改。
    • 出错自动重跑间隔:默认每次重跑的间隔为30分钟,您可以进行修改。出错自动重跑间隔最少设置为1分钟,最多设置为30分钟。

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

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

调度周期

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

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

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

如果您选择依赖上一周期,配置方法请参见场景2:依赖上一周期的结果时,如何配置调度依赖

调度周期包括 分钟小时
说明 FTP Check节点的调度周期配置结果会影响FTP Check的停止策略:
  • 当调度周期配置为分钟小时时,停止策略不支持配置为Check停止时间,只能配置为Check停止次数。详情请参见配置FTP Check的检测策略
  • 当调度周期开始配置为,并且已经配置好停止策略为Check停止时间,此时如果将调度周期修改为分钟小时,则停止策略Check停止时间选项无效,您需要重新配置停止策略为Check停止次数,否则FTP Check节点无法提交。
  • 分钟调度:即每天指定的时间段内,调度任务按N*指定分钟的时间间隔运行一次。
    如下图所示,每天00:00~23:59的时间段内,每隔30分钟调度一次。 分钟调度

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

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

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

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

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

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

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

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

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

    上图的配置,调度系统会自动为任务生成实例并运行。 年调度实例
典型的周期调度场景与配置示例如下。
典型场景 配置示例
每天凌晨24点运行 日示例
每周五中午12点运行 周示例
每个月最后一天运行 月示例
每季度最后一天运行 季度示例

超时时间

设置超时时间后,如果任务运行时长超过超时时间,任务将自动终止运行。 超时时间
  • 超时时间对周期实例、补数据实例、测试实例均生效。
  • 超时时间默认值为3~7天,系统根据实际负载情况动态调整默认的任务超时时间,范围为3~7天不等。手动设定超时时间时,最大值可设置为168小时(7天)。
说明