本文介紹任務編排功能中的基本概念。
任務
任務是能完成一項功能操作的節點。
任務節點
節點是任務流中任務的實體承載,其可以處於任務流中的任意位置,節點之間通過邊來建立依賴關係。任務節點類型如下:
Data Integration
資料加工
狀態檢查
通用
節點執行個體
若干個節點執行個體組成任務流執行個體,節點之間的依賴關係是基於當時啟動並執行任務流版本。
對於任務流的恢複操作,有且只有運行失敗的節點執行個體會按照依賴關係再次運行。對於重跑操作,所有節點都會按照依賴關係重新運行。恢複和重跑都是基於任務流執行個體運行時使用的任務流版本進行操作的。
節點執行個體的狀態如下:
運行中(RUNNING)
暫停(SUSPEND)
失敗(FAIL)
成功(SUCCESS)
終止中(KILLING)
跳過(SKIPPED)
取消(CANCELLED)
排隊中(QUEUED)
任務流
任務流是由多個任務節點群組合編排出的工作群組,任務之間可以有依賴關係,整個依賴關係是一個有向非循環圖(DAG),整個任務流都可以被執行。
任務流版本
任務流版本是任務流在某個時刻的快照。任務流版本形態如下:
編輯態版本:當前可編輯的版本,每次單擊試運行(手動觸發)都會儲存一個編輯態版本,且每次運行都只會基於最新的、且可編輯的版本運行。
發布態版本:任務流發布後會產生一個版本,每次定時觸發都會運行當前最新的發布態版本。
任務流執行方式
任務流的執行方式分為調度觸發(被動執行)和手動觸發(主動執行)。
手動觸發:手動運行任務流,基於當前可編輯的版本(編輯態)。
調度觸發:定時調度任務流,基於最新的發布版本(發布態)。
任務流執行個體
任務流執行個體是運行某條任務流的具體運行記錄。對於運行成功的任務流,可以進行重跑操作,對於運行失敗的任務流,可以進行恢複或置成功操作。
對於手動啟動並執行任務流,會產生任務流執行個體版本。
任務流執行個體狀態有如下幾種:
邊
任務流(DAG)中的一條有向邊,具有起始節點和終止節點。節點之間的依賴關係由邊來定義,起始節點為終止節點的上遊,終止節點為起始節點的下遊,只有當上遊節點都運行成功後,下遊節點才會運行。邊的類型如下:
實體邊:即有向邊,可體現節點之間(節點與任務流)的依賴關係。
同任務流邊:節點的依賴關係在同一個任務流中。
跨任務流邊:節點的依賴關係是跨任務流的,一般可通過調度配置的事件訂閱功能實現。
業務時間
預設已耗用時間減一天,業務時間作為變數使用時,預設的變數名為bizdate。
補資料
基於任意任務流的發布態Version N,給定業務時間或業務範圍,產生一個或多個任務流執行個體。
責任人、相關人員
責任人:僅責任人可編輯當前任務流、任務相關的配置,可試運行任務,接收任務運行警示資訊。
相關人員:具備查看當前任務流、任務相關配置的許可權,可試運行任務,不具備編輯許可權。
運行許可權
任務運行時許可權,是以任務流的責任人所擁有的資料庫表許可權進行判斷。
重要若責任人缺失某些庫表的許可權,即使當前觸發啟動並執行人員具備對應庫表許可權,仍會運行失敗。
可觸發啟動並執行人員有:責任人、相關人員。
已耗用時間
任務實際的執行時間。
運行方式
試運行
指定目前時間運行該任務流。
空跑
當任務流A(使用任務流依賴檢查節點)依賴任務流B,且不需要實際運行B時,可以使B空跑產生一個調度記錄,A任務即可正常執行。
指定時間運行
使用該運行方式需要您定義一個任務流變數(時間變數),並且在SQL中使用。變數會在指定的業務時間下,通過位移得到最終的變數時間,可實現在SQL等配置不變的情況下,達到在指定時間運行任務的目的。
指定時間範圍運行
在時間範圍內運行方式也需要定義多個任務流變數(時間變數),目前一次只能運行50個節點執行個體。
例如調度周期為1日,那麼任務流執行個體只能運行50天。
說明時間範圍內啟動並執行任務是串列啟動並執行,即必須一個業務時間的任務執行成功,下一個業務時間才可執行任務。