任务提交和发布至生产环境后,即可在周期任务列表中对任务进行运维操作。包括自动调度和手动运行周期任务、查看任务运行详情、暂停任务、下线任务等。本文为您介绍周期任务的运维操作详情。

文档概述

周期任务是指在调度系统按照调度配置周期性自动调度的任务。您可以在运维中心 > 周期任务列表查看指定工作空间下的周期任务。本文为您介绍周期任务的运维操作详情,包括:

创建并发布周期任务

任务需要先通过发布流程发布至生产调度系统后,您才可以在运维中心的周期任务列表中看到该任务。操作详情请参见:数据开发概述创建任务
说明
  • 对生产环境的任务、资源、函数进行新增、修改、下线等操作均可以通过提交和发布流程来实现。
  • 任务的变更均需执行发布操作,发布成功后该变更才会在生产环境中生效。发布时可能存在发布失败、发布流程被阻塞或发布版本不符合预期等情况,因此,建议您在任务发布后,进入运维中心 > 周期任务界面进行排查:
    • 通过DAG图查看任务的上下游依赖关系是否正确。
    • 通过节点详情查看生产环境中该任务的参数配置等是否符合预期。

查看周期任务

周期任务列表中为您展示生产环境下调度系统按照调度配置自动定时运行的任务,您可以检查任务代码、调度参数、调度依赖、节点血缘等是否符合预期。同时,支持您通过列表及DAG图的方式,快速查看任务的详细信息并执行相关操作。详情请参见:查看并管理周期任务
说明
  • 仅发布至生产环境的任务才可以在运维中心的周期任务列表中看到。若任务配置不符合预期,请参考创建并发布周期任务进行检查。
  • 当任务展开父节点时没有依赖任何父节点,或者某任务为上游任务但又同时依赖了自己的下游任务,导致依赖关系成环。这两种类型的任务在自动调度时将不会被调度调起。

运行周期任务

  • 周期任务运行方式
    DataWorks每晚会根据周期任务自动生成第二天待运行的周期实例,同时支持您手动触发周期任务,分别生成补数据实例和测试实例。运行方式
    实例类型 应用场景 与周期任务的关系

    (对应实例如何生成)

    实例触发方式

    (对应实例如何触发执行)

    周期实例 周期性自动化进行ETL操作。 平台每晚根据某一时间点周期任务快照信息自动生成第二天待运行的周期实例。
    说明 开发环境运维中心不会自动调度生成周期实例。
    平台自动触发周期实例执行。
    补数据实例 需要对当前任务及下游任务执行补过去某一时间段或未来某段时间的数据的操作,即需要对历史或未来时间段的数据进行ETL操作。 人为针对当前周期任务手动触发补数据操作,并生成补数据实例。 生成补数据实例的同时触发补数据实例执行。
    执行测试并查看测试实例 需要对当前周期任务进行测试,观察执行结果是否符合预期。
    说明 测试实例的运行也在真实执行代码逻辑。
    人为针对当前周期任务手动触发测试操作,并生成测试实例。 生成测试实例的同时触发测试实例执行。
    说明
    • 不同实例生成方式对自动调度的周期实例的影响:
      新建任务时,您可以通过设置实例生成方式来控制任务发布至生产环境后生成实例的时间,即任务发布至生产环境后什么时候可以在生产运维中心周期实例面板中看到该任务生成的实例,详情请参见:实例生成方式
      • T+1次生成:
        • 23:30之前提交发布的任务,第二天周期实例生效,并自动调度运行。
        • 23:30之后提交发布的任务,第三天周期实例生效,并自动调度运行。
      • 发布后即时生成:
        • 23:30之前提交发布的任务,当天生成周期实例并自动调度。
          • 任务定时运行时间在提交发布时间点10分钟后时,DataWorks会正常生成实例,该实例会真实跑数据。
          • 任务定时运行时间距离提交发布时间不足10分钟时,DataWorks会生成一个已完成的实例,实例状态为实时生成的过期实例,过期实例不会真实跑数据。
        • 23:30之后提交发布的任务,实时转实例功能不生效。需要等到提交发布后的第三天实例才生效。
    • 已有的实例从T+1次日生成变更为发布后即时生成,对当天实例的影响:已运行的实例会保留,未运行的实例将会被替换为实时转出的实例。
  • 任务运行条件和问题定位
    调度任务运行需要满足上游任务运行成功、当前任务定时时间已到、调度资源充足、当前任务未冻结等条件,详情请参见:调度任务运行的必要条件运行流程图如果任务为未运行状态,建议您先通过DAG面板中的上游分析功能,快速定位阻塞当前任务运行的关键上游任务,再通过运行诊断功能,诊断关键实例未运行的原因或存在的问题,当任务依赖复杂时,您可以通过该功能快速定位问题,提升运维效率。上游分析

暂停调度运行

注意 请勿随意操作projectname_root节点,该节点为工作空间根节点。周期任务的实例均依赖于该节点,如果冻结该节点,周期实例将无法运行。
  • 暂停(冻结)周期任务:如果某任务及其下游任务在未来一段时间内不需要自动调度运行,您可以选择暂停(冻结)该任务。
    • 冻结操作:冻结
    • 冻结后现象:冻结周期任务后,生成的周期实例会处于冻结状态,并导致依赖该周期实例的下游实例无法运行。
  • 暂停(冻结)实例:如果周期任务生成的某个实例不需要运行,您可以选择冻结该实例,冻结操作仅在该实例生效。不影响当天其他实例与周期任务后期生成的实例的运行。如果您要恢复当前实例的运行,可以选择解冻并重跑该实例,重跑成功后,下游未运行的实例将会自动运行起来。解冻
  • 周期任务置为空跑:如果某任务一段时间内不需要自动调度运行,但不阻塞下游任务运行时,您可以将任务的调度类型设置为空跑调度,空跑状态的周期任务将生成空跑的实例(运行日志为空,无执行时长,不会实际跑数据)。空跑
    说明 在数据开发界面将任务的调度类型设置为暂停调度与生成运维中心对周期任务进行暂停操作效果一致。但在数据开发界面的修改仅在开发环境生效,若要在生产环境生效,需要进行发布操作。详情请参见:创建并发布周期任务
说明 冻结解冻周期任务和周期实例的影响请参见:任务冻结与解冻

下线周期任务

当某任务或业务流程不需要运行时,您可以选择下线该任务或批量下线该业务流程中的任务。操作流程如下:
  1. 在数据开发界面删除任务(此操作将会在开发环境下线目标任务)。
  2. 在任务发布界面将任务删除操作发布至生产环境(此操作将会在生产环境下线目标任务)。
  3. 发布后,在运维中心周期任务界面确认是否已无法搜索到该任务。
下线周期任务
说明
  • 任务下线时,DataWorks将校验任务在开发环境和生产环境是否存在下游依赖,仅当任务无下游依赖时才可被下线,下线操作的常见问题请参见下线节点
  • 任务下线后,周期任务界面将无法找到该任务,任务在第二天不再生成实例,但已生成的周期实例不会删除,实例到期(30天)后会自动删除,并且不支持人为删除。
  • 任务下线时,已生成的周期实例将会执行如下操作:
    • 实例会空跑,实例状态直接置为成功,但该实例实际未运行任务代码,如果希望已生成的实例不再运行,可以冻结该实例。按量付费场景下,空跑的实例不会收取调度实例费。
    • 下线过程中,已经在运行的实例会继续正常执行。
  • 批量下线业务流程中的任务,详情请参见批量操作

还原已下线的任务

下线后任务将进入回收站,您可以在回收站还原任务。如果任务需要重新发布,您可以通过上线流程重新上线该任务,详情请参见:创建并发布周期任务

说明 还原后的任务配置与原配置一致,但节点ID会重新生成。

管理周期任务

您可以在周期任务列表对任务进行管理操作:
  • 支持修改任务运行时的相关属性:例如,批量修改调度资源组、修改数据集成任务执行资源组、批量冻结解冻任务等。详情请参见:查看并管理周期任务
  • 支持针对周期任务设置周期实例调度运行时的状态监控。详情请参见:创建并管理自定义规则
  • 支持针对周期任务设置周期实例、补数据实例、测试实例运行时产出的表数据质量监控。详情请参见:数据质量概述
说明 如果您需要重新定义周期任务的相关属性,可以进入数据开发界面,找到该任务并打开配置窗口进行配置。详情请参见:配置基础属性。如果要批量对任务进行修改,可以进入批量操作界面进行操作。
管理

查看周期任务操作记录

支持您通过任务或实例的操作日志,或者单击左侧导航中的操作历史查看操作记录。操作日志
还支持您在数据开发界面通过版本 > 对比功能,获取版本变更的详细情况。详情请参见:发布任务对比