Azure Spring Apps のジョブ (プレビュー)
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅ Java ✅ C#
この記事の適用対象: ❎ Basic/Standard ✅ Enterprise
"ジョブ" は、Azure Spring Apps のリソース モデルにおける重要な概念です。 Azure Spring Apps の "アプリ" と同様に、どちらもサービス内で管理されるリソースと見なされます。
"アプリ" はワークロードを継続的に実行しますが、"ジョブ" では、限られた期間内に完了するワークロードを実行できます。 アプリの例としては、Web アプリや、入力を継続的に処理するバックグラウンド サービスなどがあります。 ジョブの例としては、バッチ プロセスやオンデマンド タスクなどがあります。
ジョブを記述する Spring 開発者は、Spring Batch フレームワーク、または Spring Cloud Task を選択するでしょう。 Spring Batch は大規模なバッチ処理タスクの処理では優位性がありますが、Spring Cloud Task は、最小限のオーバーヘッドで有効期間の短いタスクを管理するように特化されています。 Azure Spring Apps ジョブでは。両方の種類を効率的に実行して、多様な要件を満たすことができます。
ジョブの実行
"ジョブ実行" とは、ジョブ内で定義された特定のタスクまたは一連のタスクを実行するプロセスを指します。 これには、ジョブの仕様に従ったジョブの初期化、処理、完了など、これらのタスクの実行のライフサイクル全体が含まれます。
Azure Spring Apps でのジョブ実行の一般的なライフサイクルは、pending
と running
から、completed
または failed
の終了状態までです。これは、実行が正常に完了するかどうかによります。
ジョブが実行されるたびに、ジョブから事前設定された構成が採用されます。これには、さまざまな実行に合わせてカスタマイズできる特定の側面があります。
非並列のジョブ実行では、一度に実行されるインスタンスは 1 つだけです。 並列実行では、複数のインスタンスが同時に実行可能です。
構成
ジョブでは、ユーザー アプリケーション ソースやトリガー構成などの要素を含む、各実行で使用される既定の構成が確立されます。 ジョブの各実行では構成が継承され、特定のパラメーターを個別の実行で、新しい値でオーバーライドできるようにします。
次の表は、ジョブ レベルまたはジョブ実行レベルの構成を示しています。
プロパティ名 | 範囲 | メモ |
---|---|---|
トリガーの種類 | ジョブ | パブリック プレビューの手動トリガー。 さらに別のトリガーの種類が、今後予定されています。 |
Parallelism | ジョブ | 同時に実行されるジョブのインスタンスの数。 既定値は 1です。 並列ジョブの場合は、JOB_COMPLETION_INDEX 環境変数を使用して各インスタンスのインデックスを取得できます。 |
再試行の上限 | ジョブ | ジョブが失敗したりエラーが発生したりした後に、ジョブが実行を試行する最大回数。 既定値は 0 です。これは、ジョブが失敗した場合に再試行が行われないことを意味します。 |
タイムアウト | ジョブ | ジョブの状態が failed に設定されるまでにジョブの完了を待機する最大秒数。 設定しないままにすることも、値を 0 に設定することもできます。これは、ジョブにタイムアウトがないことを意味します。 |
引数 | ジョブ/実行 | ジョブの実行オーバーライドに指定された引数の値。 |
環境変数 | ジョブ/実行 | キーと値のペア形式の変数。 ジョブ レベルで指定された環境変数が、各実行の既定値となります。 実行レベルで指定された環境変数が優先されます。 実行を開始するときに環境変数を指定して、ジョブ レベルで値をオーバーライドできます。 |
シークレット環境変数 | ジョブ/実行 | シークレット値が暗号化される資格情報を含む変数。 |
CPU | ジョブ/実行 | 実行で指定された値は、ジョブで指定された値をオーバーライドします。 |
メモリ | ジョブ/実行 | 実行で指定された値は、ジョブで指定された値をオーバーライドします。 |
ジョブ レベルの構成は、ジョブ リソースを作成したり更新したりするときに適用されます。 ジョブ実行レベルの構成は、ジョブの実行を開始するときに適用されます。