即時工作流程處理的最佳做法
本文包含建立及管理即時工作流程處理序的最佳做法。
避免發生無限迴圈
在即時工作流程中可以建立啟始無限迴圈的邏輯,而這會耗用伺服器資源並影響效能。 一般情況是當您設定即時工作流程在更新資料列時啟動,卻又在工作流程的邏輯中更新該資料列時,便會引發無限迴圈。 更新動作會觸發更新記錄相同的即時工作流程,並重複觸發即時工作流程。
您所建立的工作流程會包含偵測和停止無限迴圈的邏輯。 如果在短時間內即時工作流程處理在特定記錄上執行超過特定次數,程序會因為下列錯誤而失敗:因為啟動此工作流程作業的工作流程包括無限迴圈,所以已取消此工作流程作業。請更正該工作流程邏輯,然後再試一次。 限制次數為 16。
使用即時工作流程範本
如果您有類似的工作流程,而且預期建立更多遵循相同模式的工作流程,請將即時工作流程儲存為工作流程範本。 如此一來,下次需要建立類似的工作流程時,您可以使用範本建立即時工作流程,避免從頭開始輸入所有條件和動作。
在建立程序對話方塊中,選取從現有範本新增程序 (從清單選取)。
使用子工作流程
如果您在不同的工作流程或條件分支中套用相同的邏輯,請將該邏輯定義為子工作流程,這樣就不必在每個即時工作流程或條件分支中手動複製該邏輯。 這可以讓您的工作流程更容易維護。 您可以只更新一個工作流程,而不檢查可能套用相同邏輯的許多工作流程。
為發生錯誤的即時工作流程作業保留記錄。
針對並未在背景執行 (同步) 的工作流程,我們建議在工作流程定義中選取保留發生錯誤的即時工作流程作業記錄選項。 選取此選項,允許儲存來自失敗即時工作流程執行的記錄,供疑難排解使用。 來自成功同步工作流程執行的記錄會一律刪除,以節省空間。
限制更新相同資料表的工作流程數目
執行多個更新相同資料表的即時工作流程,可能會造成資源鎖定問題。 試想數個正在執行的工作流程,其中每個商機更新都會觸發對相關聯帳戶的更新。 這些工作流程的多個執行個體正在執行並且同時嘗試更新同一筆客戶記錄,可能會導致資源鎖定問題。 發生即時工作流程失敗,並且已記錄錯誤訊息,例如 SQL 逾時:無法取得資源 資源名稱 上的鎖定。
使用附註記錄變更
當您編輯工作流程時,您應該使用 [附註] 索引標籤並輸入執行的動作及其原因。 這可讓其他人了解所做的變更。