文档

调度依赖场景规则与示例

更新时间:

Dataphin支持将周期任务的调度周期设置为分钟、小时、日、周、月、年调度类型中的其中一种类型。各调度类型的周期任务支持互相依赖,调度类型不同,任务执行的周期不同。任务各周期是通过实例的方式执行,当上下游调度依赖的类型不同时,您可参考本文了解上下游任务不同周期实例的依赖情况。

背景信息

配置调度依赖前,建议您需先了解以下内容。

  • Dataphin中,周期任务会根据调度周期生成相应的周期实例(例如,小时调度任务每天会根据调度周期生成相应数量的小时实例),并通过实例的方式运行任务。周期任务之间所设置的调度依赖,其本质是任务间所生成实例的依赖。上下游任务的调度周期不同,其生成的实例之间依赖情况不同。

  • Dataphin支持多种调度依赖场景,不同场景的调度任务,可选择本周期依赖或依赖上周期。

  • 实例开始运行条件。

    依赖的上游实例全部运行成功,即变成等待调度时间等待调度资源状态。到达当前实例的定时运行时间且已分配调度资源 ,即变成运行中状态。

依赖场景

不同周期任务的细分依赖场景及其规则如下。

说明

下游任务的定时运行时间若早于上游任务,即便到达下游任务的定时时间,该任务也不会调度,需等待上游任务运行完成后才会调度运行。

本文图示说明

图示

含义

image..png

上游周期实例

image..png

下游周期实例

image..png

同周期依赖

image..png

跨周期依赖

小时任务依赖小时任务

依赖规则

下游小时任务依赖上游定时运行时间>=自己定时运行时间最近一个实例。

场景1:上游下游任务同周期依赖,起调时间相同。

上游小时任务和下游小时任务同周期依赖,且都是每个整点起调。则下游1点的实例依赖上游1点的实例,下游2点的实例依赖上游2点的实例,依次类推。

image..png

场景2:上游下游任务跨周期依赖,起调时间相同。

如果需要实现下游2点的实例依赖上游1点的实例,可以通过配置下游任务依赖上游任务的上周期实现(默认下游任务2点的实例依赖上游任务2点的实例,设置为依赖上周期之后,即依赖上游任务2点实例的上周期,也就是1点实例,以实现下游任务2点的实例依赖上游任务1点的实例的场景)。

image..png

场景3:上游下游任务同周期依赖,起调时间不同。

同周期依赖,上游小时任务是每个整点起调,下游小时任务是每小时的05分开始起调,则下游0点05分的实例依赖上游1点的实例,下游1点15分的实例依赖上游2点的实例,依次类推。

image..png

场景4:上游下游任务同周期依赖,起调时间和调度间隔不同。

不同批次调度,同周期依赖,上游小时任务是每隔4个小时整点起调,下游小时任务是每个小时的15分开始起调,则下游0点15分、1点15分、2点15分、3点15分的实例,都依赖上游4点的实例,依次类推。

image..png

天任务依赖小时任务

依赖规则

下游天任务和上游小时任务是同周期依赖:依赖上游定时运行时间>=自己定时运行时间最近一个实例。上游小时任务如果是自依赖(即小时任务本身配置了依赖上周期), 则会根据定时运行时间依赖最近一个周期的上游小时任务。

下游天任务和上游小时任务是跨周期依赖:上游小时任务如果是自依赖, 则会依赖上游前一天最后一个小时实例。上游小时任务如果不是自依赖, 则会依赖上游前一天所有的小时实例。

场景1:天任务和小时任务是同周期依赖,且小时任务自依赖。

上游小时任务固定整点调度,下游天实例定时每日5点0分起调,则天实例会依赖上游5点0分的小时实例;如果下游天实例定时每日5点01分起调,则天实例会依赖上游6点0分的小时实例)。

image..png

场景2:天任务和小时任务是同周期依赖,且小时任务非自依赖

上游小时任务如果不是自依赖(即小时任务本身没有配置依赖上周期), 则会依赖上游所有的小时实例。

image..png

场景3:天任务和小时任务是跨周期依赖,且小时任务自依赖

上游小时任务如果是自依赖, 则会依赖上游前一天最后一个小时实例。

image..png

场景4:天任务和小时任务是跨周期依赖,且小时任务非自依赖

上游小时任务如果不是自依赖, 则会依赖上游前一天所有的小时实例。

image..png

  • 本页导读 (0)
文档反馈