Skip to main content
ONTAP Select
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用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 呼叫:

  1. 發出異步 API 呼叫。

  2. 收到 HTTP 回應 202,表示成功接受請求。

  3. 從回應主體中提取 Job 物件的識別碼。

  4. 在循環內,每次循環執行以下操作:

    1. 使用長輪詢請求取得作業的目前狀態

    2. 如果作業處於非終止狀態(排隊、執行),則再次執行循環。

  5. 當作業達到最終狀態(成功、失敗)時停止。