Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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

共同作成者

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

ジョブオブジェクトを使用した非同期要求の説明

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

メモ 非同期的に処理する API 呼び出しを決定するには、 ONTAP Select Deploy のオンラインドキュメントページを参照してください。

API要求に関連付けられているジョブオブジェクトを照会する

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

  • キューに登録済み

  • 実行中

  • 成功

  • 障害

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

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

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

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

    • タイムアウト値が期限切れ( 1 ~ 120 秒)

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

ヒント Deploy 仮想マシンのワークロードを減らすためには、常に長いポーリングを使用してください。

非同期要求を発行するための一般的な手順

非同期API呼び出しを完了する手順の概要は次のとおりです。

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

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

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

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

    1. 長時間のポーリング要求でジョブの現在の状態を取得します

    2. ジョブが非終了状態(待機中、実行中)の場合は、もう一度ループを実行します。

  5. ジョブが終了状態( success または failure )になったら停止します。