1)增加內建參數:${prepose.successInfo}、${prepose.failedInfo}
2)${workname.opresult}內建參數匯出的三個值中,fail 改成了 error
3)${jobname.opresult}內建參數,新增匯出值 skipped
FDL 提供了一些內建參數,這些參數無需定義即可直接呼叫。
目前可以使用的內建參數如下:
${cyctime} 為 ETL 任務在 調度配置 中設定的每次運作的時間節點
格式為yyyy-mm-dd hh:mm:ss,匯出的實際值格式為:2021-09-09 20:45:50,取值精確到時分秒
這個時間是任務進入運作佇列的時間,並非實際運作的時間,實際運作的時間比進入運作佇列的時間要晚一些
當需要使用任務運作的時間做一些操作時,就可以引用內建 ${cyctime} 參數,例如:
某個任務 30 天運作一次,那每次只需更新運作時間節點( ${cyctime})前 30 天的資料就可以了
指定任務的最近一次運作結果; 範例:${任務1.opresult}
可以匯出三個值:
success:任務運作成功
error:任務運作報錯(4.0.3 版本之前,該值為 fail)
invalid:任務中止運作(異常任務,一般是任務運作時關閉了FineDataLink,啟動後會將狀態置為invalid)
這個參數一般用於設定 條件分支 節點的判斷條件
success:節點運作成功
fail:節點運作失敗
skipped:節點跨越執行(4.0.3 版本新增)
舉例:[[SQL腳本],[資料轉換]]
指定任務(非當前任務)-指定節點的最近一次運作結果; 範例:${任務1.資料同步.opresult}
skipped:節點跨越執行
如果實體是由「排程管理」觸發生成,${cyctime} 值為每次調度開始的時間。
如果實體是使用者「手動觸發」\「事件調度」觸發生成,或 重試 時未指定業務日期,則 ${cyctime} 的時間值為 實體開始構建時間
如果實體是使用者「重試實體」觸發生成,若指定了業務日期,則 ${cyctime} 的時間值為使用者指定的時間。
${cyctime} 的格式為yyyy-mm-dd hh:mm:ss,匯出的實際值格式為:2021-09-09 20:45:50,取值精確到時分秒。
範例:實體是由「排程管理」觸發生成。
使用內建參數 ${cyctime} ,實現每次運作任務時,只同步運作時間點前 31 天的資料。
1)建立定時任務,拖入一個「資料同步」節點。
2)如下圖設定節點的資料來源,其中 SQL 語句的作用是:從表「出庫臨時表」中取出 前 31 天的資料。
SQL 語句如下:
SELECT * FROM `demo1`.`出庫臨時表` where 出庫日期>DATE_SUB('${cyctime}',interval 31 day)
點選「資料預覽」,可看到取出的是系統當前時間前 31 天的資料。如下圖所示:
注:點選「資料預覽」時 cyctime 的預設值為系統的當前時間;而當任務運作時 cyctime 的值為任務調度執行的時間,所以資料預覽的資料與實際運作寫入到資料庫的資料可能不一致。
3)後續步驟中使用者根據實際情況設定「資料去向」、「執行頻率」即可。「資料同步」節點的使用範例可參見:資料同步-資料庫表
內建參數 ${workname.opresult} 一般用於設定 條件分支 節點的判斷條件。
範例:「資料複製和分流」定時任務執行成功後再執行「任務CC」。4.0.30 及之後版本,該場景可用 事件調度 實現
1)「任務CC」中是一個「資料同步」節點,實現跨庫同步。如下圖所示:
2)現希望「資料複製和分流」定時任務執行成功後再執行「任務CC」,使用內建參數 ${workname.opresult} 實現。
在「資料同步」節點前拖入「條件分支」節點,「條件分支」節點中判斷條件設定為:${1-Data Synchronization.opresult}等於success
需注意,4.1.0 及之後版本,「條件分支」節點中使用該參數時,需要選擇任務。如下圖所示:
4.1.0 之前版本,「條件分支」節點中使用該參數時,參數欄直接填「資料複製和分流.opresult」然後回車,最右側正文框填「success」。
注:該參數使用時,格式為:${上游節點名稱.opresult}
1)「訊息通知」節點訊息內容修改為:${資料同步.opresult}。如下圖所示:
2)「資料同步」節點執行成功後,企業微信群訊息傳回「success」,如下圖所示:
前期準備:參考 遠端執行判斷 文檔中的 3.1、3.2、3.3.2 節內容。
1)「訊息通知」節點訊息內容修改為:${prepose.successInfo}。如下圖所示:
2)任務執行後,企業微信群訊息如下圖所示:
訊息通知內容為:「訊息通知」上游節點中,所有執行成功的節點名稱「銷量表抽取資料」。
1)參考本文第五章範例,將「訊息通知」節點訊息內容修改為:${prepose.failedInfo}。如下圖所示:
訊息通知內容為:「訊息通知」上游節點中,所有執行失敗的節點名稱「salesum」。
前期準備:參考 循環容器節點 文檔
該在循環容器內部生效,容器內當前循環次數,初次為 1 ,後續每次循環增量加。
1)在「循環容器」節點內拖入「訊息通知」節點。設定介面如下圖所示:
2)任務執行後,傳回循環次數,如下圖所示:
取當前任務名稱。
範例:「訊息通知」節點中使用該參數,通知任務執行成功。
1)任務「測試內建參數」中,存在一個「資料同步」節點和一個「訊息通知」節點。
2)「訊息通知」節點中,設定介面如下圖所示:
3)任務執行成功後,通知內容如下圖所示:
注:若使用者希望獲取當前任務中的節點,建議使用${jobname.opresult}。
範例:「01資料同步」任務中的「資料同步」節點執行成功後,再執行「任務2」中的「資料同步」節點。
1)「任務2」中是一個「資料同步」節點,實現跨庫同步。如下圖所示:
2)現希望「01資料同步」任務中的「資料同步」節點執行成功後,再執行「任務2」中的「資料同步」節點。
在「資料同步」節點前拖入「條件分支」節點,「條件分支」節點中判斷條件設定如下所示:
5.0.7.3 及之後版本,新增此內建參數。
當前任務-指定選擇的呼叫檢查任務的最近一次的運作記錄 id;範例:${呼叫檢查任務.det_execute_id}
在訊息通知中,可呼叫此參數通知異常檢查任務的運作記錄 id,方便後續排查。
當前任務-指定選擇的呼叫檢查任務的最近一次的檢查結果;範例:${呼叫檢查任務.det_result}
在定時任務中呼叫檢查任務,可使用「條件分支」根據檢查任務的結果執行不同的後續流程。詳情請參見:呼叫檢查任務
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙