非同步作業的狀態
發行︰ 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 撰寫程式碼來執行這些工作。
讀取非同步作業的狀態
使用 RetrieveMultiple 方法可依名稱擷取 AsyncOperation,或使用 Retrieve 方法依識別碼擷取。
讀取 AsyncOperation.StateCode 屬性。
變更狀態代碼
根據允許的作業狀態,將擷取的狀態代碼屬性修改為新值。 您也可以變更 AsyncOperation.PostponeUntil 屬性。
呼叫 Update 可變更資料庫中這些屬性的值。
先前的作業也可以使用 Execute 方法搭配適當的要求訊息來執行。AsyncOperation 的屬性除了 AsyncOperation.StateCode 和 AsyncOperation.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. 著作權所有,並保留一切權利。 著作權