設定排程器批次工作流定義的提示
設定排程器批次工作流定義以避免發生開放式工作流問題
應一律設定排程器批次工作流定義,讓工作流只在工作流中的所有步驟都完成後才會「結束」,這可透過在「工作流結束」步驟條件設定工作流,或是定義步驟之間的交互依存項目來達成。如此可確保排程器批次工作流執行不會在工作流中間停止。
將批次工作流定義移轉至 SaaS 批次排程器
-
(選擇性步驟) 將現有批次工作流定義從生產環境移轉至任一生產前環境。
-
在任一生產前環境中,使用移轉選項將現有批次工作流定義移至排程器批次工作流定義 (SaaS 批次排程器的新物件)。
-
對新建立的排程器批次工作流定義執行徹底的測試。
-
移轉至目標環境之前,應先取消 (如有需要) 並刪除目標環境中的批次工作流定義。
-
使用「內容移轉助理 (CMA)」將新建立的排程器批次工作流定義移轉至生產環境。排程器批次工作流定義的「移轉計畫」可供複查。
執行超過午夜的工作必須與工作流中的其他工作具有相同的業務日期
如果排程器批次工作流執行時間太長且部分工作執行超過午夜,則可將排程器批次工作流中的所有工作設為以相同的業務日期執行。請將排程器批次工作流定義上的業務日期選項值設為 'SYSDATE',當排程器批次工作流啟動時,排程器引擎會處理排程器批次工作流中業務日期相同的所有步驟。
如何將一個大型的工作流分割成多個較小型的工作流
如何將排程器批次工作流定義設定為只在 OUAF 工作行事曆日期執行
若要將排程器批次工作流定義設定為只在工作日執行,請使用批次控制 K1-CWCEL。建立一個具有此批次控制、批次參數「工作行事曆」設為必要工作行事曆的批次排程器批次控制,並確認在營業日執行設為「真」。然後將此批次排程器批次控制當作工作流中所要執行的第一個步驟。將工作流定義為若此步驟失敗則結束。將工作流的後續步驟定義為若此步驟成功則執行。當工作流在排定的日子執行時,第一個步驟會根據工作行事曆來檢查該日是否落在工作日。如果該日並非工作日,則工作流會結束執行,以確保工作流只在希望的日期執行。
檢查檔案是否存在的排程器批次工作流定義
在排程器批次工作流定義需要先檢查某個檔案是否已由其他處理上傳/建立,才能繼續進行其餘處理的情況時,可使用特殊批次程式 "K1-OSCFE"。您可以引入參考此新批次程式的工作流步驟,其中所含的參數指定要將檔案存入哪個物件儲存分組,以及如果檔案不存在時所要傳回的狀態。可將此工作流步驟新增在相依於檢查檔案是否存在及是否繼續處理的步驟之前。
處理排程器批次工作流定義交互依存項目
-
新批次程式接受兩個參數 - 指令檔名稱和指令檔資料。請撰寫 CM 指令檔,以檢查依存工作流是否正在執行。如果依存工作流正在執行,則指令檔應該會因發生錯誤而終止。
- 如果其他工作流正在執行,請在需要暫停/保留的排程器批次工作流中新增一個工作流步驟,作為該工作流的第一個步驟。然後在第一個步驟中使用新批次程式 (透過將 CM 指令檔設為輸入參數的方式),或建立一個批次排程器批次控制 (如果批次控制是要在許多工作流之間使用,而這些工作流以不同的 CM 服務指令檔作為輸入參數)。將依存工作流名稱設為指令檔資料參數。
- 更新「工作流結束」步驟條件,以便在第一個步驟失敗時結束工作流。如此可確保如果其他依存排程器批次工作流已在執行中,此排程器批次工作流就不會執行。
- 更新要在第一個步驟之後執行的步驟,步驟條件是只有當第一個步驟成功時,才應繼續進行這些步驟。
備註:特殊批次程式不僅限於這些情況。它可藉由撰寫對應的 CM 指令檔來應用在許多自訂案例中,當符合所要的情況時,指令檔就會終止。