最新历史版本 :呼叫任務 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

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 日誌說明

日誌邏輯
範例
呼叫任務僅展示呼叫節點的執行結果,不在父任務展示詳細日誌


使用者可跳轉到被呼叫的任務查看具體的日誌

在下面範例中,任務運作後,日誌只顯示「呼叫任務-複本」節點是否運作成功

點選上圖的「查看日誌」連結,跳轉到被呼叫的任務,查看具體日誌

4. 注意事項编辑

4.1 參數名衝突

子任務裏參數可能會跟父任務傳遞過來的參數產生同名衝突的情況,當參數名重複時子任務各參數優先如下:

1)3.7.1 之前版本

參數指派 > 任務參數 > 父任務的參數指派 > 父任務的任務參數 > 系統參數

2)3.7.1 及之後版本

參數指派>父任務的參數指派>父任務的任務參數>任務參數>系統參數

4.2 任務調度衝突

父任務和子任務都設定了調度,如果父任務執行時,子任務正在運作,此時父任務觸發子任務,則會進入佇列等待狀態。

父任務和子任務都設定了調度,多個父任務先後呼叫子任務時,子任務將佇列執行,按照呼叫時間佇列。