1. 概述
1.1 版本說明
FineDataLink 版本 | 功能變動 |
---|---|
3.2 | 新增節點「呼叫任務」,可以在當前任務中呼叫執行其他任務,參數傳遞不支援跨層級,僅可傳遞給子任務,不可傳遞給孫任務 |
3.7.1 | 可實現參數跨層級傳遞 |
4.1.1 | 呼叫任務下拉框中,遮蔽成環任務 |
1.2 應用場景
使用者希望可以在當前定時任務中呼叫平台內其他定時任務,被呼叫的任務被放到當前任務裏編排,「呼叫任務」節點可滿足該需求。
注:支援視覺化展示父子任務層級呼叫關係,使用者可查看該定時任務被哪些任務呼叫,以及該任務呼叫了哪些任務。詳情請參見:任务关系
2. 範例
2.1 場景模擬
我們建立 2 個定時任務,父任務和子任務,父任務中使用「呼叫任務」節點來呼叫子任務,並且透過資料同步節點使用子任務中生成的結果資料進行二次加工,獲得最終需要的分析資料。
2.2 建立被呼叫任務
1)建立一個 定時任務,重新命名為子任務,並將一個「資料同步」節點拖到設計介面,設定節點的資料來源,SQL 語句取出 sales 表中所有的資料,如下圖所示:
範例表資料:sales.xlsx
2)設定資料去向,將 sales 表中的資料同步到另一個資料庫的表 salescopy 中,寫入方式採用預設設定即可,如下圖所示:
3)點選「儲存」這個任務即可。
2.3 建立執行呼叫的任務
1)建立一個 ETL 任務,重新命名為「父任務」,並將一個「呼叫任務」節點拖到設計介面,呼叫任務選擇上面剛建好的「子任務」,「子任務」沒設定參數,所以參數傳遞保持預設不勾選即可。
「參數傳遞」介紹請參見本文第三章內容。
2)將一個「資料同步」節點拖到設計介面,設定資料來源,SQL 語句對子任務生成的 salescopy 表的資料進行處理,統計出每個城市的銷售總和。如下圖所示:
3)如下圖設定資料去向,使用自動建表將上面處理的資料儲存到另一張表 staticsale 中去,欄位映射採用預設設定即可。
4)使用線條將「資料同步」節點跟它的上游「呼叫任務」節點連起來;在實際生產環境中,此時需要設定父任務的調度配置,
注:由於當前範例中,子任務是被父任務呼叫的任務,所以子任務不需要設定調度配置,但是父任務需要設定調度配置,父任務每次執行會順便拉起子任務的執行。
2.4 運作任務
1)點選右上角「儲存並運作」,儲存並運作該任務,日誌處出現執行成功資訊表示任務成功運作,如下圖所示:
2)可以看到資料庫中多了一張父任務生成的結果表 staticsale,城市銷售總和資料已經存到該表中。
3. 功能說明
3.1 設定項介紹
3.1.1 呼叫任務
下拉框選擇其他定時任務,自身和沒管理權限的任務不可選。
4.1.1 及之後版本,呼叫任務下拉框中,遮蔽成環任務。範例:A 呼叫 B,B 呼叫 C ,C 不能呼叫 A。
3.1.2 參數傳遞
1)3.7.1 之前版本:
預設不勾選,如果勾選了將當前任務的參數傳遞給子任務,那麼定義的任務參數、參數指派匯出的參數都可以傳遞給子任務使用
其他說明:
勾選了參數傳遞,任務定義的參數,子任務可以直接使用,但參數指派節點的參數只能被子任務的首個節點使用。
參數傳遞不支援跨層級,僅可傳遞給子任務,不可傳遞給孫任務。
2)3.7.1 及之後版本:
預設不勾選,如果勾選了將當前任務的參數傳遞給子任務,那麼定義的任務參數、參數指派匯出的參數都可以傳遞給子任務使用
注:支援參數跨層級傳遞
勾選後,介面如下圖所示:
參數指派:僅所在的分支上游「参数赋值」匯出的參數。參數指派節點的參數可以被下游分支所有的節點使用,但是不可跨分支被其他節點使用
任務參數:所有任務參數都可以選擇傳遞給子任務
跨層級傳遞邏輯說明:
在選擇參數傳遞給子任務時,只能選擇本任務內已經定義好的參數,所以在超過兩個層級的場景下:子任務想要用到父父任務裏的參數,需要上層的兩級任務均有同名參數,且都配置了傳遞給子任務
範例:若任務 c 裏有一個參數 p1 ,如果任務 a 也想用,那麼任務 b 裏也要有一個參數 p1 ,然後在任務 c 和任務 b 裏都配置參數 p1 向子任務傳遞:
3.2 日誌說明
日誌邏輯 | 範例 |
---|---|
呼叫任務僅展示呼叫節點的執行結果,不在父任務展示詳細日誌 使用者可跳轉到被呼叫的任務查看具體的日誌 | 在下面範例中,任務運作後,日誌只顯示「呼叫任務-複本」節點是否運作成功 點選上圖的「查看日誌」連結,跳轉到被呼叫的任務,查看具體日誌 |