1. 概述
1.1 版本
| FineDataLink 版本 | 功能說明 |
|---|---|
| 4.0.30 | 支援設定定時任務的調度依賴 |
| 4.2.5.4 | 切換條件判斷時機時,保留「實時判斷」和「定時判斷」的設定內容 注:透過資源匯入的任務暫不適配該優化。 |
| 4.2.14.2 |
|
1.2 歷史版本更新
| FineDataLink 版本 | 功能說明 |
|---|---|
| 4.1.1 | 依賴任務下拉框中,遮蔽成環任務 |
| 4.1.4 | 新增事件調度時,增加一個範例,幫助使用者理解功能 |
| 4.1.11.1 | 事件調度優化:
|
| 4.1.13.1 | 開啟某個定時任務後,點選「調度計劃>事件調度>查看按鈕」,將跳轉至「維運中心>定時任務>調度計劃>事件調度」介面並開啟該事件調度 |
| 4.2.5.1 | 事件調度配置路徑簡化,提升易用性 |
1.3 應用場景
數倉構建程式中 ODS 層有 a、b、c 任務互不影響、DW 層有 d 、f 任務,需要 a、b 任務執行完觸發 d 任務,來減少 DW 層對 ODS 層完全更新完等待的時間;若 a、b 執行失敗則不觸發,來避免資料準確性的問題。
定時任務中設定任務 b 依賴任務 a(上午執行),希望在晚上(閒置時間)執行任務 b,而不是上游任務 a 執行完立即執行任務 b,避免造成資源緊張的問題。
使用者設定 a 任務觸發 b 任務,若 a 任務失敗,重跑 a 任務時,希望不觸發 b 任務。
1.4 功能簡介
FineDataLink 可設定任務的調度依賴,例如設定任務 A、任務 B 在指定的條件執行成功後再執行任務 C 以及後續任務。

1.4 前提條件
使用前需要確定註冊了「調度計劃-進階功能(試用)」功能點。
1.5 升級相容
升級前的事件調度將有任務上下游關係的整合為一個事件調度;配置項升級後,任務執行條件判斷時機預設為:實時判斷;多任務觸發關係預設為:實體可以重複判斷。
注:開放平台插件呼叫的任務無法觸發事件調度。
2. 功能說明
2.1 新增事件調度入口
入口一:批量新增
在「維運中心>定時任務>調度計劃>事件調度」中新增。如下圖所示:

入口二:單個新增
開啟一個定時任務,點選「調度計劃>事件調度>去建立按鈕」,可跳轉到「維運中心>定時任務>調度計劃>事件調度」中,新增事件調度。如下圖所示:

2.2 事件調度說明
1)根據實際場景,比如需要 a、b 任務執行完執行 c、d 任務,需要依次建立任務組,分別包含 a&b、c&d。
2)由於只能選擇某個任務組,為其新增上遊,選擇包含 c&d 的任務組,新增上遊,上遊為包含 a&b 的任務組。如下圖所示:

編輯當前任務組:
| 屬性 | 說明 |
|---|---|
| 任務組名 | 根據實際場景命名,便於後續使用 |
| 組內任務 | 展示需要被調度的任務,可新增、刪除 新增任務時僅支援選擇已發布且未配置過事件調度的任務
|
| 上遊依賴 | 展示上遊執行的任務,可新增上遊任務組(支援多選定時任務)、可解除上遊任務組 新增任務僅支援選擇已發布且未配置過事件調度的任務 新增任務不支援選擇依賴/呼叫成環的任務 |
| 當前任務組執行條件 | 實時判斷: 設定「條件內容」後,滿足條件內容的上遊任務運作成功/運作結束,則當前任務立刻執行
定時判斷: 設定「條件內容」後,滿足條件內容的上遊任務運作成功/運作結束,則當前任務到達設定的排程管理時間後執行
4.2.14.2 及之後版本,定時判斷新增「逾時策略」配置。開啟後,支援配置逾時等待時長。 若定時判斷開始時間為每日中午 12 時,逾時等待時長為 30 分鍾。 到達 中午 12 時,上遊任務不滿足執行條件。在 12:00-12:30 期間按照「實時判斷」邏輯,若上遊在此期間滿足執行條件,則立即運作當前任務組。 注: 1)由於現在是取上遊最新實體進行判斷,若使用者配置的逾時等待時長>調度週期間隔,可能會出現運作時間的日期資料錯誤。 2)若在等待期間到達第二次調度週期,且仍未運作成功,導緻多次逾時等待。滿足執行條件後立即運作,且僅運作一次。 |
條件內容: 1)「運作結束」邏輯:只要上遊任務運作結束就按照條件內容觸發下遊任務,不論上遊任務運作成功、失敗、中斷 「運作成功」邏輯:上遊任務運作成功才按照條件內容觸發下遊任務 2)上遊為多任務/單任務時,可設定內容不同。若上遊為多任務,支援自訂配置時間。
3)觸發當前任務組執行的上遊記錄,不再參與條件的判斷:
範例如下:
| |
異常警告 4.2.14.2 及之後版本,新增「異常警告」配置。詳情請參見:任務控制-結果通知
|
在任務組畫布中勾選「旁系任務組」,即不僅展示該任務組有聯動的任務組,也會展示其上下游任務組的所有聯動任務組,如下圖所示:

編輯調度計劃:

2.3 管理事件調度
可在「維運中心>定時任務>調度計劃>事件調度」中管理已新增的事件調度。詳情請參見:定時任務維運-調度計劃
2.4 事件調度的其他功能
1)手動運作
生產環境下提供「運作當前任務及下游」操作,產生的運作記錄根據「事件調度」中配置的任務關係&條件內容,判斷下游任務是否觸發,如下圖所示:

注:該次手動產生的運作記錄(包含下游被本次拉起的實體)會參與事件調度條件內容判斷(包含定時),判斷使用成功觸發下游過後不再使用本次的運作記錄去參與判斷。
2)運作記錄重試
重試當前任務下,提供「重試當前任務及下游」操作,產生的運作記錄,根據「事件調度」中配置的任務關係&條件內容,判斷下游任務是否觸發。
應用場景:例如使用者設定 A、B 任務觸發 D 任務,A、B任務都失敗,未觸發下游任務 D,希望能夠重跑任務,若兩個任務均重跑成功則觸發下游任務,就可以使用此功能。
重試任務功能說明請參見:任務記錄:重試任務

注:該次手動重試產生的運作記錄(包含下游被本次拉起的實體)會參與事件調度條件內容判斷(包含定時),判斷使用成功觸發下游過後不再使用本次的運作記錄去參與判斷。
3)權限
事件調度中任一有管理權限的任務,支援查看該事件調度,對於畫布中已有的&沒有管理權限的任務不支援行動、刪除。
僅支援對有管理權限的任務配置觸發條件,若該組中既包含無權限任務,又包含有權限任務,不允許對這個分組調整觸發條件和新增、刪除下上游任務,針對有權限任務可行動至新分組。
針對事件調度的分組,其上下游分組中若有無權限的任務,則這些任務不支援進行行動、編輯、刪除等操作。

2.5 特殊場景說明
| 場景 | 說明 |
|---|---|
| 任務 A—>B—>C—>D,分別屬於分組1、2、3、4,使用者將 B 任務刪除了 但是 C 任務是有單獨配置的排程管理的 | 情況1:分組 2 裏還有其他任務,不影響整個事件調度,校驗透過 情況2:分組 2 沒有其他任務,整個事件調度在管理列表標紅,事件調度編輯介面內校驗,調度狀態新增調度異常狀態,整個調度事件失效,C 任務也不會觸發 D |
注:單個任務組關閉後,下游任務將不能繼續按照事件調度設定執行,如下圖所示:

3. 操作步驟
例如使用者已經建立了 ods 、dw 和 dm 層的幾個任務,如下圖所示:

並且給 ods 層的任務設定了一個排程管理。希望能給 dw 和 dm 層的資料設定事件調度,在 ods 層任務指定條件下執行成功後再執行 dw 層以及 dm 層的任務。
3.1 建立事件調度分組
首先將需要設定調度的任務進行分組,便於後續按照分組進行調度設定,如下圖所示:

dm 層和 dw 層的任務同理,如下圖所示:

3.2 設定當前和上游任務資訊
選擇事件調度當前任務,即需要被調度的 dw 層任務,點選新增上游,將 ods 層任務新增進來,如下圖所示:

3.3 設定當前任務組執行條件
點選「編輯當前組」,設定當前任務組的執行條件,選擇定時判斷,設定當前任務執行的定時時間,並設定任務執行條件內容,如下圖所示:

3.4 設定下游任務資訊
設定 dm 層任務為當前任務被事件調度執行後繼續執行的任務,即在 dm 任務組新增上游任務為 dw 組,如下圖所示:

並設定 dm 層的執行條件為實時判斷,當上遊任務運作成功後執行,如下圖所示:

然後就可以看到事件調度的介面,如下圖所示:

3.5 效果查看
為 ods 層任務設定排程管理,需要注意的是如果事件調度設定的當前任務是排程管理,這個時間需要在 ods 排程管理時間之後,如下圖所示:

當 ods 層任務運作成功後,事件調度設定的 dw 層任務在調度時間將執行,若執行成功,同時下游的 dm 層任務也會實時判斷並執行,如下圖所示:

