Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ONTAP Selectのジョブオブジェクトを使用した非同期処理

一部のDeploy API呼び出し、特にリソースの作成または変更を行う呼び出しは、他の呼び出しよりも完了までに時間がかかる場合があります。ONTAPONTAP Select Deployは、これらの長時間実行される要求を非同期的に処理します。

ジョブ オブジェクトを使用して記述された非同期要求

非同期的に実行されるAPI呼び出しを行うと、HTTP応答コード202が返されます。この応答コードは、要求が正常に検証され受け入れられたものの、まだ完了していないことを示します。要求はバックグラウンド タスクとして処理され、クライアントへの最初のHTTP応答後も引き続き実行されます。応答には、要求に対応するジョブ オブジェクトと、その一意の識別子が含まれます。

メモ どの API 呼び出しが非同期に動作するかを判断するには、 ONTAP Select Deploy のオンライン ドキュメント ページを参照する必要があります。

APIリクエストに関連付けられたジョブオブジェクトをクエリする

HTTP応答で返されるジョブ オブジェクトには、いくつかのプロパティが含まれています。状態プロパティを照会して、要求が正常に完了したかどうかを確認できます。ジョブ オブジェクトは次のいずれかの状態になります。

  • キュー

  • 実行中

  • 成功

  • 失敗

ジョブ オブジェクトをポーリングしてタスクの最終状態(成功または失敗)を検出するには、2つの方法があります。

  • 標準ポーリング要求現在のジョブ状態が直ちに返されます

  • ロングポーリング要求ジョブ状態は、次のいずれかが発生した場合にのみ返されます。

    • 状態は、ポーリング要求で指定された日時値よりも最近に変更されました

    • タイムアウト値が経過しました(1~120秒)

標準ポーリングとロングポーリングは、同じAPI呼び出しを使用してジョブオブジェクトをクエリします。ただし、ロングポーリングリクエストには2つのクエリパラメータが含まれます。 poll_timeout`そして `last_modified

ヒント デプロイ仮想マシンのワークロードを軽減するには、常にロングポーリングを使用する必要があります。

非同期リクエストを発行するための一般的な手順

以下は、非同期API呼び出しを完了する手順の概要です。

  1. 非同期API呼び出しを実行します。

  2. 要求が正常に受け取られたことを示すHTTP応答202を受信します。

  3. 応答の本文からジョブ オブジェクトの識別子を抽出します。

  4. ループ内では、各サイクルで次の操作を実行します。

    1. ロングポーリングリクエストでジョブの現在の状態を取得する

    2. ジョブが非終了状態(キューに入れられ、実行中)の場合、ループを再度実行します。

  5. ジョブが終了状態 (成功、失敗) に達したら停止します。