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

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

共同作成者

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

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

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

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

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

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

  • キューに登録され

  • 実行中です

  • 成功

  • 失敗

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

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

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

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

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

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

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

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

非同期 API 呼び出しを完了する大まかな手順を次に示します。

  1. 問題:非同期 API 呼び出し。

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

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

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

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

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

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

Looking for answers?
Try Doc, our Gen AI Assistant.