共用方式為


非同步作業的狀態

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

非同步作業新增至非同步佇列之後,它們會以定義良好的狀態存在。 非同步作業可以是等候執行、可以是正在執行,也可以是已完成。 在作業最後從佇列中刪除之前,另外還有其他可能的狀態。 這些狀態定義了非同步作業的整個週期。

本主題內容

非同步作業的狀態

擷取和更新 AsyncOperation 狀態

非同步作業的狀態

非同步作業的狀態可透過三種方式修改:藉由平台做為一般佇列處理、藉由使用者與 Microsoft Dynamics 365 Web 應用程式進行互動,或是藉由修改非同步作業的 Web 服務呼叫。 身為開發人員,您可以擷取所有您能夠存取的非同步作業的目前狀態,也可以變更狀態。

下表列出 AsyncOperation 的各種狀態,以及每種狀態的狀態說明。

縣市

狀態

數值狀態值

Ready

WaitingForResources

0

Suspended

Waiting

10

Locked

InProgress

20

Locked

Pausing

21

Locked

Canceling

22

Completed

Succeeded

30

Completed

Failed

31

Completed

Canceled

32

支援的狀態定義於 AsyncOperationState 列舉。 在早期繫結 AsyncOperation 類別中,狀態可在 AsyncOperation.StatusCode 屬性中使用,而狀態說明可在 AsyncOperation.StateCode 屬性中使用。 如需詳細資訊,請參閱 AsyncOperation 實體中繼資料。若要檢視組織的實體中繼資料,請安裝瀏覽組織的中繼資料中敘述的中繼資料瀏覽器解決方案。 您也可以下載 SDK 後開啟其頂層資料夾內所附名為 EntityMetadata.xlsx 的 Excel 檔案,從中檢視未經自訂組織的中繼資料。。 狀態會在 [系統作業] 資料格的 [狀態原因] 欄位的 Microsoft Dynamics 365 Web 應用程式中顯示。 藉由選取 [系統作業] 的 [其他動作] 功能表中的任何功能表項目,您就可以透過互動方式修改非同步作業的狀態。 允許的動作包括:取消、繼續、延期和暫停。

下圖顯示支援的非同步作業狀態轉換。

非同步作業狀態圖表

請注意,非同步作業只能沿著圖中所示的特定路徑從一種狀態轉換成另一種。 有些路徑是由使用者與 Microsoft Dynamics 365 Web 應用程式進行互動所啟始,有些路徑則是由 Microsoft Dynamics 365 平台做為一般非同步佇列處理或因為 Web 服務呼叫所啟始。 例如,非同步作業無法直接從「已暫停」狀態轉換成「已鎖定」狀態。

已鎖定狀態表示非同步服務正在使用 AsyncOperation 執行個體。 鎖定時,其他服務執行個體就無法使用它。 這樣可確保執行個體不會執行超過一次以上,例如由兩個不同的非同步服務執行。

擷取和更新 AsyncOperation 狀態

監視和更新非同步作業的狀態通常是透過 Microsoft Dynamics 365 Web 應用程式中的 [系統作業] 格線,以互動的方式進行。 不過,您也可以使用 SDK 撰寫程式碼來執行這些工作。

讀取非同步作業的狀態

  1. 使用 RetrieveMultiple 方法可依名稱擷取 AsyncOperation,或使用 Retrieve 方法依識別碼擷取。

  2. 讀取 AsyncOperation.StateCode 屬性。

變更狀態代碼

  1. 根據允許的作業狀態,將擷取的狀態代碼屬性修改為新值。 您也可以變更 AsyncOperation.PostponeUntil 屬性。

  2. 呼叫 Update 可變更資料庫中這些屬性的值。

先前的作業也可以使用 Execute 方法搭配適當的要求訊息來執行。AsyncOperation 的屬性除了 AsyncOperation.StateCodeAsyncOperation.PostponeUntil 以外,都應該視為唯讀。

週期性系統作業

您無法取消、暫停或繼續大部分系統作業。 請參閱下表所列的一些受限的系統作業。 第一欄的值為 AsyncOperation 實體的 OperationType 屬性值。

非同步作業類型 (選項值)

作業描述

22

計算組織最大儲存空間大小

18

計算組織儲存空間大小

19

收集組織資料庫統計資料

20

收集組織大小統計資料

16

收集組織統計資料

9

SQM 資料收集

25

組織全文類別目錄索引

31

儲存限制通知

24

更新統計資料間隔

27

更新合約狀態

如需支援的非同步作業類型的完整清單,請參閱 AsyncOperation 實體中繼資料。若要檢視組織的實體中繼資料,請安裝瀏覽組織的中繼資料中敘述的中繼資料瀏覽器解決方案。 您也可以下載 SDK 後開啟其頂層資料夾內所附名為 EntityMetadata.xlsx 的 Excel 檔案,從中檢視未經自訂組織的中繼資料。

另請參閱

Microsoft Dynamics CRM 的非同步服務 2015
AsyncOperation (系統作業) 實體
非同步處理作業中的相依性和執行順序

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權