ジョブ・スケジューラーおよびグリッド・エンドポイントがバッチ・ジョブを処理すると、ジョブ・スケジューラー・データベースでジョブの状態が更新されます。
図は各状態間の関係を示しています。以下の表には、バッチ・ジョブが取り得る各状態、および各状態間の遷移を起動するイベントがリストされています。
バッチ・ジョブの現在の状態は、ジョブ管理コンソールで表示するか、コマンド行または Enterprise JavaBeans (EJB) インターフェースを使用して取得できます。
バッチ・ステップが初期化される前に障害が発生した場合、バッチ・ジョブは execution failed 状態になります。
それ以外の場合は、restartable 状態になります。

表 1. バッチ・ジョブの状態. この表は、各バッチの開始状態と、そのクライアント・コマンド、システム処置、特殊な条件、戻りコード (数値) および終了状態を示しています。空のテーブル・セルは、開始状態におけるクライアント・コマンド、システム処置、条件、または戻りコードがないことを示しています。開始状態 |
クライアント・コマンド |
システム処置 |
特別な条件 |
戻りコード |
終了状態 |
non-existent (遅延実行依頼) |
submit |
|
|
|
pending submit |
non-existent |
submit |
|
|
|
submitted |
submitted |
|
ディスパッチ |
|
0 |
executing |
submitted |
cancel |
|
|
0 |
restartable |
executing |
stop |
|
|
0 |
restartable |
executing |
cancel |
|
|
4 |
cancel_pending |
executing |
|
アプリケーション・エラーのキャッチ* |
|
4 |
restartable |
executing |
|
|
インフラストラクチャーに関する問題** |
4 |
restartable/unknown |
executing |
suspend |
|
|
4 |
suspend_pending |
executing |
|
ジョブの完了 |
|
4 |
ended |
executing |
|
|
ジョブのセットアップでのインフラストラクチャーに関する問題*** |
4 |
restartable |
suspend_pending |
|
チェックポイントを指定 |
|
2 |
suspended |
suspend_pending |
|
|
インフラストラクチャーに関する問題** |
2 |
restartable/unknown |
suspended |
resume |
|
|
5 |
resume_pending |
suspended |
cancel |
|
|
5 |
cancel_pending |
suspended |
|
|
インフラストラクチャーに関する問題** |
5 |
restartable/unknown |
resume_pending |
|
ジョブの再開 |
|
2 |
executing |
resume_pending |
|
|
インフラストラクチャーに関する問題** |
2 |
restartable/unknown |
restartable |
restart |
|
|
8 |
submitted |
cancel_pending |
|
ジョブの取り消し |
|
1 |
restartable |
cancel_pending |
|
|
インフラストラクチャーに関する問題** |
1 |
restartable/unknown |
restartable |
purge |
|
|
8 |
non-existent |
execution_failed |
purge |
|
|
9 |
non-existent |
ended |
purge |
|
|
7 |
non-existent |
表 2. バッチ・ジョブの状態表に関する注. この表では、説明付きの注をそれぞれ示します。注記 |
説明 |
* アプリケーション・エラー |
実行時にバッチ・アプリケーションで障害が発生しました。
グリッド・エンドポイントによりこの障害が検出されました。 |
** インフラストラクチャーに関する問題 |
予期しないエラーが発生しました。
ジョブのセットアップでのインフラストラクチャーに関する問題については、以下の例を参照してください。 |
*** ジョブのセットアップでのインフラストラクチャーに関する問題 |
グリッド・エンドポイントによって初めてバッチ・ジョブがセットアップされる際に発生する予期しないエラー。
例えば、予期しないデータベースの障害が発生した場合、ジョブは execution_failed 状態になります。
- この状態では、バッチ・ジョブの実行は初めてであり、ステップはまだ処理されていません。
障害状態を解決できた場合にチェックポイントの位置から再開できるように、バッチ・ジョブはたいていの障害状態で restartable 状態になります。
しかし、この障害状態の場合にはバッチ・ジョブが execution_failed 状態になり、再開することはできません。
この状態はジョブのセットアップ・シナリオであり、作業はまだバッチ・ジョブによって処理されていないため、障害の結果としてバッチ作業は失われません。
- ジョブがエンドポイント上で最終的な状態に達していない場合、スケジューラーは 2 つの状態のときにジョブを unknown 状態に置きます。
それらの状態とは、エンドポイントが通信を失った状態、またはエンドポイントがダウンした状態です。
エンドポイントが復旧すると、スケジューラーによってジョブ状況とエンドポイントが同期されます。
エンドポイントがダウンすると、すべてのバッチ・ジョブが restartable 状態に置かれ、すべての計算主体ジョブが execution failed 状態に置かれます。
エンドポイントでスケジューラーとの通信のみが失われ、ジョブは実行され続けている場合、スケジューラーはジョブの状況を更新します。
更新された状況は、その時点でエンドポイントで実行されているジョブの最終状態を表しています。
|