全部產品
Search
文件中心

Dataphin:調度依賴情境規則與樣本

更新時間:Mar 06, 2025

Dataphin支援將周期任務的調度周期設定為分鐘、小時、日、周、月調度類型中的一種,不同的調度類型,任務執行的周期不同;同時各調度類型的周期任務支援互相依賴。例如,小時任務依賴天任務或小時任務依賴周任務。本文為您介紹各任務間依賴策略說明。

背景資訊

配置調度依賴前,建議您先瞭解以下內容。

  • Dataphin中,周期任務會根據調度周期產生相應的周期執行個體(例如,小時調度任務每天會根據調度周期產生相應數量的小時執行個體),並通過執行個體的方式運行任務。周期任務之間所設定的調度依賴,其本質是任務間所產生執行個體的依賴。上下遊任務的調度周期不同,其產生的執行個體之間依賴情況不同。

  • Dataphin支援多種調度依賴情境,不同情境的調度任務,支援依賴根節點本節點上周期其他物理/邏輯表節點

  • 執行個體開始運行條件。

    依賴的上遊執行個體全部運行成功,即運行節點變成等待調度時間等待調度資源狀態。當執行個體到達當前執行個體的定時已耗用時間且已指派調度資源、系統未限流時,運行節點將變成運行中狀態,執行節點任務。如果執行個體為觸發式節點還需要已接收到外部觸發請求。

  • 上遊被依賴執行個體未完成時,下遊執行個體達到定時已耗用時間,將不會正常起調。需要等待上遊被依賴執行個體正常完成,下遊執行個體才可以正常運行,即定時已耗用時間為計劃時間,非實際執行時間

  • 周期任務每晚23點會自動產生次日需要啟動並執行周期執行個體,當任務的調度周期不存在實際需要啟動並執行執行個體任務時,系統將預設產生空跑執行個體,並直接置為成功。例如,月調度任務調度周期為每月2號的13:00:00,除每月的2號外,系統每天都將預設產生空跑執行個體,共置為成功。

通用說明

配置調度依賴時,可在編輯依賴對話方塊的節點依賴周期預覽地區中進行預覽。詳情請參見配置離線任務調度依賴

節點依賴周預覽中,各區塊及其說明如下。

image

區塊

說明

當前節點的執行個體列表,可單擊列表中的執行個體來切換選中執行個體,被選中的執行個體將以藍色進行高亮顯示。

所選上遊節點的執行個體列表,其中被當前節點所選中執行個體所依賴的執行個體,將以藍色進行高亮顯示。

右側選中執行個體依賴左側執行個體的連線。

依賴情境

不同周期任務的細分依賴情境及其規則如下。

說明

下遊任務的定時已耗用時間若早於上遊任務,即便到達下遊任務的定時時間,該任務也不會調度,需等待上遊任務運行完成後才會調度運行。

任務依賴根節點

將根節點作為當前任務的上遊依賴時,不支援配置依賴周期和依賴策略。根節點將被系統預設為已經成功啟動並執行節點,當業務時間到達任務的定時已耗用時間且系統已指派調度資源時,任務將會正常運行,根節點不會阻塞下遊節點。

任務依賴本節點上周期/物理/邏輯表節點

任務依賴本節點上周期/物理/邏輯表節點時,支援配置依賴周期和依賴策略。

  • 依賴周期:包括本周期(當日)上周期(前一日)前N日最近24小時

    說明

    本節點上周期不支援依賴本周期(當日),即不支援本節點同周期依賴

  • 依賴策略:包括全部執行個體第一個執行個體最後一個執行個體向後最近一個執行個體向前最後一個執行個體。以下案例以比較典型的小時調度任務依賴小時任務為例,為您說明不同依賴策略的執行邏輯。

依賴周期

依賴策略

本周期(當日)

以本周期(當日)為依賴周期時,不同的依賴策略依賴的執行個體詳情如下:

  • 全部執行個體

    全部執行個體時,需要本周期(當日)依賴任務的所有執行個體均成功運行,依賴的後續節點才可以正常運行。例如,當天的業務日期為2024-03-02,本周期(當日)依賴任務即為2024-03-02。當前任務執行個體節點的運行依賴2024-03-02依賴節點的所有執行個體。2024-03-02所有依賴執行個體運行成功,則當前任務2024-03-02執行個體節點均可以正常運行;2024-03-02依賴節點存在一個執行個體未成功運行,當前任務2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 第一個執行個體

    第一個執行個體時,只要本周期(當日)依賴任務的第一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-02,本周期(當日)即為2024-03-02。當前任務2024-03-02的執行個體節點運行依賴2024-03-02依賴節點的第一個執行個體。2024-03-02依賴節點第一個執行個體運行成功,當前任務2024-03-02執行個體節點均可以正常運行;2024-03-02依賴節點第一個執行個體未成功運行,當前任務2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 最後一個執行個體

    最後一個執行個體時,只要本周期(當日)依賴任務的最後一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-02,本周期(當日)即為2024-03-02。當前任務2024-03-02的執行個體節點運行依賴2024-03-02依賴節點的最後一個執行個體。2024-03-02依賴節點最後一個執行個體運行成功,當前任務2024-03-02執行個體節點均可以正常運行;2024-03-02依賴節點最後一個執行個體未成功運行,當前任務2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 向後最近一個執行個體

    所選區間內,晚於當前執行個體已耗用時間的第一個執行個體A,若A不存在,則選擇最後一個執行個體。

    例如,當天的業務日期為2024-03-02,本周期(當日)即為2024-03-02。業務日期為2024-03-02、調度時間為13:05:00的任務執行個體節點,向後最近一個執行個體是2024-03-02調度時間為14:00:00的執行個體,即當前任務2024-03-0213:05:00執行個體節點依賴本周期(當日)依賴節點14:00:00的執行個體;業務日期為2024-03-02、調度時間為13:00:00的任務執行個體節點,向後最近一個執行個體是2024-03-02調度時間為13:00:00的執行個體,即當前任務2024-03-0213:00:00執行個體節點依賴本周期(當日)依賴節點13:00:00的執行個體。其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    imageimage

  • 向前最近一個執行個體

    所選區間內,定時已耗用時間離當前任務定時已耗用時間最近的執行個體。早於當前任務定時已耗用時間的最後一個執行個體優先。

    例如,當天的業務日期為2024-03-02,本周期(當日)即為2024-03-02。業務日期為2024-03-02、調度時間為13:05:00的任務執行個體節點,向前最近一個執行個體是2024-03-02調度時間為13:00:00的執行個體,即當前任務2024-03-0213:05:00執行個體節點依賴本周期(當日)依賴節點13:00:00的執行個體;業務日期為2024-03-02、調度時間為13:00:00的任務執行個體節點,向前最近一個執行個體是2024-03-02調度時間為13:00:00的執行個體,即當前任務2024-03-0213:00:00執行個體節點依賴本周期(當日)依賴節點13:00:00的執行個體。其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。imageimage

上周期(前一日)

以上周期(前一日)為依賴周期時,不同的依賴策略依賴的執行個體詳情如下:

  • 全部執行個體

    全部執行個體時,需要上周期(前一日)的所有執行個體均成功運行,依賴的後續節點才可以正常運行。例如,當天的業務日期為2024-03-02,上周期(前一日)即為2024-03-012024-03-02的執行個體節點運行依賴2024-03-01的所有執行個體。2024-03-01所有執行個體運行成功,2024-03-02執行個體節點均可以正常運行;2024-03-01存在一個執行個體未成功運行,2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 第一個執行個體

    第一個執行個體時,只要上周期(前一日)的第一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-02,上周期(前一日)即為2024-03-012024-03-02的執行個體節點運行依賴2024-03-01的第一個執行個體。2024-03-01第一個執行個體運行成功,2024-03-02執行個體節點均可以正常運行;2024-03-01第一個執行個體未成功運行,2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 最後一個執行個體

    最後一個執行個體時,只要上周期(前一日)的最後一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-02,上周期(前一日)即為2024-03-012024-03-02的執行個體節點運行依賴2024-03-01的最後一個執行個體。2024-03-01最後一個執行個體運行成功,2024-03-02執行個體節點均可以正常運行;2024-03-01最後一個執行個體未成功運行,2024-03-02執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 向後最近一個執行個體

    所選區間內,晚於當前執行個體已耗用時間的第一個執行個體A,若A不存在,則選擇最後一個執行個體。

    例如,當天的業務日期為2024-03-02,上周期(前一日)即為2024-03-01。業務日期為2024-03-02、調度時間為13:00:00的任務執行個體節點,向後最近一個執行個體是業務日期為2024-03-01、調度時間為13:00:00的執行個體,即當前任務2024-03-0213:00:00執行個體節點依賴上周期(前一日)依賴節點23:00:00的執行個體,其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 向前最近一個執行個體

    所選區間內,定時已耗用時間離當前任務定時已耗用時間最近的執行個體。早於當前任務定時已耗用時間的最後一個執行個體優先。

    例如,當天的業務日期為2024-03-02,上周期(前一日)即為2024-03-01。業務日期為2024-03-02、調度時間為13:00:00的任務執行個體節點,向前最近一個執行個體是業務日期為2024-03-01、調度時間為13:00:00的執行個體,即當前任務2024-03-0213:00:00執行個體節點依賴上周期(前一日)依賴節點23:00:00的執行個體,其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

前N日

以前N日為依賴周期時,不同依賴策略的執行邏輯不同。以下案例以易於理解的前2日為例,為您說明不同的依賴策略所依賴的執行個體,詳情如下:

  • 全部執行個體

    全部執行個體時,需要前2日的所有執行個體均成功運行,依賴的後續節點才可以正常運行。例如,當天的業務日期為2024-03-04,前2日即為2024-03-022024-03-04的執行個體節點運行依賴2024-03-02的所有執行個體。2024-03-02所有執行個體運行成功,2024-03-04執行個體節點均可以正常運行;2024-03-02存在一個執行個體未成功運行,2024-03-04執行個體節點均不可以正常運行。其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 第一個執行個體

    第一個執行個體時,只要前2日的第一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-04,前2日即為2024-03-022024-03-04的執行個體節點運行依賴2024-03-02的第一個執行個體。2024-03-02第一個執行個體運行成功,2024-03-04執行個體節點均可以正常運行;2024-03-02第一個執行個體未成功運行,2024-03-04執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 最後一個執行個體

    最後一個執行個體時,只要前2日的最後一個執行個體成功運行,依賴的後續節點都可以正常運行。例如,當天的業務日期為2024-03-04,前2日即為2024-03-022024-03-04的執行個體節點運行依賴2024-03-02的最後一個執行個體。2024-03-02最後一個執行個體運行成功,2024-03-04執行個體節點均可以正常運行;2024-03-02最後一個執行個體未成功運行,2024-03-04執行個體節點均不可以正常運行。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 向後最近一個執行個體

    所選區間內,晚於當前執行個體已耗用時間的第一個執行個體A,若A不存在,則選擇最後一個執行個體。

    例如,依賴前2日執行個體,且當天的業務日期為2024-03-04,前2日即為2024-03-02。業務日期為2024-03-04、調度時間為13:00:00的任務執行個體節點,向後最近一個執行個體是業務日期為2024-03-02、調度時間為13:00:00的執行個體,即當前任務2024-03-0413:00:00執行個體節點依賴前2日依賴節點13:00:00的執行個體,其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 向前最近一個執行個體

    所選區間內,定時已耗用時間離當前任務定時已耗用時間最近的執行個體。早於當前任務定時已耗用時間的最後一個執行個體優先。

    例如,依賴前2日執行個體,且當天的業務日期為2024-03-04,前2日即為2024-03-02。業務日期為2024-03-04、調度時間為13:00:00的任務執行個體節點,向前最近一個執行個體是業務日期為2024-03-02、調度時間為13:00:00的執行個體,即當前任務2024-03-0413:00:00執行個體節點依賴前2日依賴節點13:00:00的執行個體,其他節點以此類推。

    配置調度依賴時,節點依賴周期預覽樣本如下。image

最近24小時

以最近24小時為依賴周期時,不同的依賴策略依賴的執行個體詳情如下:

  • 全部執行個體

    全部執行個體時,需要距離當前運行節點24小時內(最近24小時)的所有依賴執行個體均成功運行,當前運行節點才可以正常運行。例如,當天的業務日期為2024-03-04,距離13:00:00執行個體24小時內的依賴執行個體包括2024-03-0313:00:0014:00:0015:00:00;距離14:00:00執行個體24小時內的依賴執行個體包括2024-03-0314:00:0015:00:00

    配置調度依賴時,節點依賴周期預覽樣本如下。

    image

  • 第一個執行個體

    第一個執行個體時,需要距離當前運行節點24小時內(最近24小時)的第一個依賴執行個體成功運行,當前運行節點才可以正常運行。例如,當天的業務日期為2024-03-04,距離13:00:00執行個體24小時內的依賴執行個體包括2024-03-0313:00:0014:00:0015:00:00,在此範圍內的第一個執行個體為13:00:00;距離14:00:00執行個體24小時內的依賴執行個體包括2024-03-0314:00:0015:00:00,在此範圍內的第一個執行個體為14:00:00

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 最後一個執行個體

    最後一個執行個體時,需要距離當前運行節點24小時內(最近24小時)的最後一個依賴執行個體成功運行,當前運行節點才可以正常運行。例如,當天的業務日期為2024-03-04,當前調度執行個體的時間為13:00:00,則執行個體24小時內的依賴執行個體的取值範圍為[2024-03-03 13:00 ~ 2024-03-04 13:00 )

    配置調度依賴時,節點依賴周期預覽樣本如下。image

  • 向後最近一個執行個體

    所選區間內,晚於當前執行個體已耗用時間的第一個執行個體A,若A不存在,則選擇最後一個執行個體。

    例如,當天的業務日期為2024-03-04,當前執行個體調度時間為2024-03-04 13:00,則向後最近一個執行個體的取值範圍為[2024-03-03 13:00 ~ 2024-03-04 13:00 ),實際所依賴的執行個體節點為2024-03-04 12:00;當前執行個體調度時間為2024-03-04 13:05,則向後最近一個執行個體的取值範圍為[2024-03-03 13:05 ~ 2024-03-04 13:05 ),實際所依賴的執行個體節點為2024-03-04 13:00

    配置調度依賴時,節點依賴周期預覽樣本如下。

    imageimage

  • 向前最近一個執行個體

    所選區間內,定時已耗用時間離當前任務定時已耗用時間最近的執行個體。早於當前任務定時已耗用時間的最後一個執行個體優先。

    例如,當天的業務日期為2024-03-04,當前執行個體調度時間為2024-03-04 13:00,則向前最近一個執行個體的取值範圍為[2024-03-03 13:00 ~ 2024-03-04 13:00 ),實際所依賴的執行個體節點為2024-03-04 12:00;當前執行個體調度時間為2024-03-04 13:05,則向前最近一個執行個體的取值範圍為[2024-03-03 13:05 ~ 2024-03-04 13:05 ),實際所依賴的執行個體節點為2024-03-04 13:00imageimage