產生大量系統作業和記錄的工作流程

本文提供非同步工作流程建立大量系統作業和記錄的問題解決方案。

適用于: Microsoft Dynamics 365
原始 KB 編號: 4562256

徵狀

非同步工作流程會在短時間內快速叫用,以產生大量的系統作業。 這會使非同步服務承受壓力,導致其需要處理的待處理專案突然增加,進而導致效能降低,最終影響所有系統作業。 它也會導致資料庫大小增加,因為大量的非同步作業和相關聯的工作流程記錄。

原因

當非同步工作流程啟動並觸發時,Microsoft Dynamics 365 非同步服務會將新作業排入佇列,並根據可用的資源進行處理。

在某些情況下,非同步工作流程最後可能會快速叫用數次,導致在短時間內建立大量的系統作業。 發生這種情況的原因是大量作業會積極地觸發工作流程,或是某些其他工作流程和/或是以高頻率叫用工作流程的外掛程式內的錯誤邏輯。

非同步服務可用的資源會受到限制,而且如果這類失控的工作流程填滿其待辦專案,則廣泛影響所有系統作業的效能降低很常見。 此外,由於這類案例中產生的大量作業,資料庫大小也會增加。

解決方案

在這種情況下,非同步工作流程基礎結構可以在已識別的工作流程停用後,自行修復到特定程度。 達成此目的的步驟如下所示:

  1. 流覽至[設定>程式],然後選取相關的工作流程。 或者,使用進階 尋找來尋找工作流程。
  2. 選取之後,選取 [ 停用 ] 以停用,並將工作流程設定為 [草稿 ] 狀態。 如果不需要的話,您也可以選擇性地刪除此時的工作流程。

執行上述步驟之後,將不再建立新的作業。 此外,在停用之前已建立並放置在非同步佇列中, 但尚未挑選進行處理 的任何作業,都會在挑選來進行處理時立即取消。 這有助於更快速地清空非同步待辦專案。

在進行中的 其餘作業將不會受到影響,並會如預期般完成。 待辦專案會在一段時間內穩定地清空,以復原回至次要層級。