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

使用说明

  • 仅生产环境运维中心支持自动调度生成周期实例,开发环境运维中心不支持自动调度,且不会生成自动调度的周期实例。
  • 对生产环境的任务代码、调度配置、资源、函数进行新增、修改、下线等操作,均可通过提交和发布流程来实现。
  • 任务的变更均需执行发布操作,发布成功后该变更才会在生产环境中生效。发布时可能存在发布失败、发布流程被阻塞或发布版本不符合预期等情况,因此,建议您在任务发布后,进入运维中心 > 周期任务界面进行排查。详情请参见查看并管理周期任务

运维操作概述

本文为您介绍周期任务的运维操作详情。
运维操作说明
查看周期任务您可以在周期任务页面通过列表及DAG图的方式,快速查看任务的详细信息并执行相关操作。
运行周期任务
  • 运行方式:发布至生产环境的任务将根据您定义的调度时间进行自动调度,您可在运维中心 > 周期实例页面查看任务周期调度执行结果,此外,您也可以在生产环境针对任务进行测试与补历史或未来一段时间数据的操作,并通过补数据实例测试实例查看任务执行结果。
  • 任务运行条件与问题定位:了解任务运行条件并进一步排查任务未运行原因。
  • 紧急运维操作:任务未运行场景下,支持您紧急去除未运行的上游依赖,以及出现数据污染时强制重跑下游等操作。
管理周期任务
  • 任务上线与下线
    • 上线周期任务:任务需要通过发布流程发布至生产调度系统后,您才可以在运维中心的周期任务列表中看到该任务。
    • 下线周期任务:当某任务或业务流程不需要运行时,您可以选择下线该任务或批量下线该业务流程中的任务。
      说明 下线后任务将进入回收站,您可以在回收站还原任务。
  • 任务管理
    • 暂停调度运行:如果某任务及其下游任务在未来一段时间内不需要自动调度运行,您可以选择暂停(冻结)该任务。
    • 任务监控报警:您可以在周期任务列表对任务的运行状态、产出的表数据质量配置监控规则、及任务执行资源组进行监控。
    • 管理任务优先级:您可以通过基线管理功能,管理任务的优先级。高优先级的任务将会优先获得调度资源。
    • 修改任务执行资源组:支持修改任务运行时的相关属性,包括修改调度资源组、修改数据集成任务执行资源组等。
    • 修改任务责任人:支持批量操作。
查看周期任务操作记录您可以查看任务或实例的操作日志、节点版本及操作历史。

查看周期任务

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

运行周期任务

您可了解DataWorks任务运行方式,并根据任务执行情况快速进行运维诊断。

运行方式

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

(对应实例如何生成)

实例触发方式

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

周期实例周期性自动化进行ETL操作。平台每晚根据某一时间点周期任务快照信息自动生成第二天待运行的周期实例。
说明 开发环境运维中心不会自动调度生成周期实例。
平台自动触发周期实例执行。
补数据实例需要对当前任务及下游任务执行补过去某一时间段或未来某段时间的数据的操作,即需要对历史或未来时间段的数据进行ETL操作。人为针对当前周期任务手动触发补数据操作,并生成补数据实例。生成补数据实例的同时触发补数据实例执行。
执行测试并查看测试实例需要对当前周期任务进行测试,观察执行结果是否符合预期。
说明 测试实例的运行也在真实执行代码逻辑。
人为针对当前周期任务手动触发测试操作,并生成测试实例。生成测试实例的同时触发测试实例执行。

任务运行条件和问题定位

任务运行的条件

调度任务运行需要满足上游任务运行成功、当前任务定时时间已到、调度资源充足、当前任务未冻结等条件,详情请参见:调度任务运行的必要条件运行流程图

任务运行问题诊断

问题现象:当任务到定时时间,但还未运行时,可能原因是该节点所有依赖的父节点还未运行成功、任务定时时间未到、项目下没有足够的调度资源可让任务运行、任务被冻结等。

问题排查:建议您先通过DAG面板中的上游分析功能,快速定位阻塞当前任务运行的关键上游任务,再通过运行诊断功能,诊断关键实例未运行的原因或存在的问题,当任务依赖复杂时,您可以通过该功能快速定位问题,提升运维效率。上游分析更多详情请参见任务到定时时间,为什么还没运行?等待资源任务冻结与解冻

紧急运维操作

  • 当上游任务未运行,且存在多个父节点依赖时。如果要紧急运行某任务,您可以右键单击未运行实例,选择紧急操作 > 去除依赖
    说明 需要根据任务代码、任务血缘确认该操作是否会对数据造成影响。
  • 当发生大范围的数据质量问题时,您可以右键单击实例,选择紧急操作 > 强制重跑或强制重跑下游。详情请参见附录:强制重跑下游

管理周期任务

上线周期任务

任务需要先通过发布流程发布至生产调度系统后,您才可以在运维中心的周期任务列表中看到该任务。操作详情请参见:发布任务上下任务

下线周期任务

当某任务或业务流程无需再运行时,您可选择下线相应任务,下线后,周期任务界面将无法找到该任务。详情请参见下线任务

暂停调度运行

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

任务优先级管理

您可以通过基线管理功能,管理任务的优先级,高优先级的任务将会优先获得调度资源。详情请参见基线管理

任务监控报警

您可以在周期任务列表对任务配置监控规则:
  • 支持针对周期任务设置周期实例调度运行时的状态监控。详情请参见:创建并管理自定义规则
  • 支持针对周期任务设置周期实例、补数据实例、测试实例运行时产出的表数据质量监控。详情请参见:数据质量概述
  • 支持针对任务执行资源组设置等实例数,资源使用率监控报警。详情请参见:创建并管理自定义规则

修改任务资源组

支持您修改任务使用的资源组,包括修改调度资源组、修改数据集成任务执行资源组。详情请参见通用参考:切换资源组
说明 如果您需要重新定义周期任务的相关属性,可以进入数据开发界面,找到该任务并打开配置窗口进行配置。详情请参见:配置基础属性。如果要批量对任务进行修改,可以进入批量操作界面进行操作。

修改任务责任人

需要先开启允许子账号修改责任人。开启允许

开启后,空间管理员可在如下位置操作。

  • 支持在数据开发修改单个任务或批量修改任务责任人
    1. 修改单个任务:打开节点调度配置界面 > 基础属性面板
    2. 批量修改任务:批量操作页面,请参见批量操作

    开发环境修改完成后,需要走发布流程发布,生产任务责任人变更才会生效。

  • 生产环境修改:
    说明图示
    修改单个任务责任人单个
    批量修改任务责任人批量
    说明 生产环境修改责任人会同步变更开发环境任务责任人。

查看周期任务操作记录

入口说明图示
任务或实例的操作日志操作日志可以查看任务或实例的变更记录。操作日志
节点版本如果通过发布流程发布的操作无详细记录,您可以在数据开发界面,通过节点版本与生产环境版本对比,获取版本变更的详细情况。详情请参见:发布任务对比
操作历史操作历史可以查看任务、实例、基线的操作记录。需求请参见:查看运维中心操作记录操作日志

常见问题

周期任务运维相关的常见问题,请参见周期任务常见问题