此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。
使用ONTAP Select 的作業物件進行非同步處理
某些 Deploy API 呼叫(尤其是建立或修改資源的呼叫)可能需要比其他呼叫更長的時間才能完成。 ONTAPONTAP Select Deploy 會非同步處理這些長時間運行的請求。
使用 Job 物件描述的非同步請求
進行非同步運行的 API 呼叫後,HTTP 回應代碼 202 表示請求已成功驗證並接受,但尚未完成。該請求將作為後台任務處理,並在客戶端收到初始 HTTP 回應後繼續執行。回應中包含錨定該請求的 Job 物件及其唯一識別碼。
|
您應該參考ONTAP Select Deploy 線上文件頁面來決定哪些 API 呼叫是非同步操作的。 |
查詢與 API 請求關聯的 Job 對象
HTTP 回應中傳回的 Job 物件包含多個屬性。您可以查詢 state 屬性來決定請求是否已成功完成。 Job物件可以處於以下狀態之一:
-
排隊
-
跑步
-
成功
-
失敗
輪詢 Job 物件來偵測任務的最終狀態(成功或失敗)時,可以使用兩種技術:
-
標準輪詢請求立即返回目前作業狀態
-
長輪詢請求僅當發生以下情況之一時才傳回作業狀態:
-
狀態變更的時間比輪詢請求中提供的日期時間值更近
-
超時值已過期(1 至 120 秒)
-
標準輪詢和長輪詢使用相同的 API 呼叫來查詢作業物件。不過,長輪詢請求包含兩個查詢參數: poll_timeout`和 `last_modified
。
|
您應該始終使用長輪詢來減少 Deploy 虛擬機器上的工作負載。 |
發出非同步請求的一般過程
您可以使用下列進階程序來完成非同步 API 呼叫:
-
發出異步 API 呼叫。
-
收到 HTTP 回應 202,表示成功接受請求。
-
從回應主體中提取 Job 物件的識別碼。
-
在循環內,每次循環執行以下操作:
-
使用長輪詢請求取得作業的目前狀態
-
如果作業處於非終止狀態(排隊、執行),則再次執行循環。
-
-
當作業達到最終狀態(成功、失敗)時停止。