JP1/Automatic Job Management System 2 解説
実行が終了したジョブネットやジョブの実行結果を指定して,再実行できます。
再実行には,ルートジョブネットの再実行と,ネストジョブネットまたはジョブの再実行の2種類があります。それぞれの方法について説明します。
ジョブネットコネクタを使ってルートジョブネットの実行順序を制御している場合の再実行については,「10.4.5 ジョブネットコネクタ・接続先のジョブネットの再実行」を参照してください。
この操作は,GUIまたはajsrerunコマンドで実行できます。GUIでの操作については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 9.11 ジョブネットやジョブを再実行する」を参照してください。また,コマンドで操作する場合は,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsrerun」を参照してください。
- <この項の構成>
- (1) ルートジョブネットを再実行する
- (2) ネストジョブネットまたはジョブを再実行する
- (3) 判定ジョブの先行ジョブが異常終了した場合
- (4) 判定ジョブの従属ジョブを再実行する方法
- (5) ジョブネットまたはジョブの再実行の注意事項
- (6) リカバリージョブから再実行する場合の注意事項
- (7) 起動条件付きジョブネットを再実行する場合の注意事項
(1) ルートジョブネットを再実行する
ルートジョブネットを再実行する場合,次の中から再実行方法を選べます。
- 異常終了ジョブから
- 異常終了したジョブから再実行します。再実行してジョブが正常に終了したら,後続ジョブを実行し処理を続行します。
- ネストジョブネットが異常終了した場合,ネストジョブネット中の異常終了したジョブから再実行します。
- 異常終了ジョブの次から
- 異常終了したジョブの次のジョブから再実行します。
- ネストジョブネットが異常終了した場合,ネストジョブネット中の異常終了したジョブの次のジョブから再実行します。
- 異常終了したジョブネットから
- 異常終了したネストジョブネットの先頭から再実行します。
- 異常終了したジョブネットから再実行する場合,異常終了したジョブネットの中で,異常終了したジョブの前に正常終了したジョブがあると正常終了したジョブも再実行します。
- 異常終了ジョブから再実行する場合には,異常終了したジョブの前に正常終了したジョブがあっても,正常終了したジョブは再実行しません。
- ジョブネットの先頭から
- ルートジョブネットの先頭から再実行します。
- 警告終了ジョブだけ
- 警告終了したジョブだけ再実行します。ネストジョブネットを定義している場合,ネストジョブネット中で警告終了となったジョブを再実行します。
(2) ネストジョブネットまたはジョブを再実行する
ネストジョブネットやジョブを再実行する場合,次の中から再実行方法を選べます。
- 指定したジョブネットまたはジョブから
- 指定したジョブネットまたはジョブから再実行します。再実行してジョブネットまたはジョブが正常に終了したら,後続ジョブを実行し処理を続行します。
- 指定したジョブネットまたはジョブの次から
- 指定したジョブまたはネストジョブネットの次のジョブから再実行します。
- 指定したジョブネットまたはジョブだけ
- 指定したジョブまたはネストジョブネットだけ再実行します。
次の場合は,再実行してもエラーとなって,再実行できません。
- 再実行しようとしたジョブネットまたはジョブが,実行中,異常検出実行中,警告検出実行中,先行終了待ち,開始時刻待ち,または保留中の場合
- 再実行しようとしたジョブネットまたはジョブがリカバリー属性を持ち,先行のジョブネットまたはジョブが正常終了または警告終了している場合
- 再実行しようとしたジョブネットまたはジョブが,判定ジョブか判定ジョブの従属ユニットである場合
- 再実行しようとしたジョブネットまたはジョブの上位ジョブネットにスケジュールがない場合
また,次の場合は,再実行してもエラーになりません。ただし,再実行対象のジョブネットまたはジョブは実行されません。
- 再実行対象のジョブが実行中止されていた場合
- 再実行しようとしたジョブネットにスケジュールがなく,上位のジョブネットにスケジュールがある場合
(3) 判定ジョブの先行ジョブが異常終了した場合
判定ジョブの先行ジョブが異常終了した場合,ルートジョブネットから,次のようにジョブネット,またはジョブを再実行できます。
- 「異常終了ジョブから」
- 「異常終了ジョブの次から」※
- 「異常終了ジョブネットから」
- 「先頭から」
- 「任意のジョブまたはジョブネットから」(従属ジョブ・ジョブネットは除く)
- 「警告終了ジョブだけ」
- 注※ 異常終了した先行ジョブの次からジョブネットを再実行した場合の動作
- 判定ジョブの先行ジョブが異常終了したあと,異常終了ジョブの次からジョブネットを再実行すると,異常終了したジョブの状態が「正常終了」に変わり,次の判定ジョブから処理が実行されます。
- 先行ジョブの終了コードを使って判定ジョブの判定処理をする場合は,先行ジョブが異常終了したときの終了コードが使用されます。
(4) 判定ジョブの従属ジョブを再実行する方法
従属ジョブとは,判定ジョブの実行結果によって,実行するかどうかが決まるジョブのことです。判定ジョブに関連づけられている従属ジョブが異常終了した場合の再実行方法は,通常のジョブを再実行する場合と異なります。
通常のジョブ(PCジョブやUNIXジョブなど)が異常終了した場合は,該当するジョブを選択して再実行できます。しかし,従属ジョブが異常終了した場合は,該当するジョブや先行する判定ジョブを選択しても再実行できません。従属ジョブが異常終了した場合は,上位のジョブネットを選択して再実行してください。
(5) ジョブネットまたはジョブの再実行の注意事項
ジョブネットまたはジョブの再実行での注意点を次に示します。
- 再実行前の処理が終わっていない場合
指定したジョブから再実行を始め,再実行前に実行を開始していて処理がまだ終わっていないジョブに追い付いてしまった場合,前のジョブが終了してから,再実行によるジョブの実行を開始します。
- 再実行前のジョブの結果情報
ジョブを再実行すると,ジョブの結果情報(実行開始日時,実行終了日時,状態,コード)は再実行した結果に更新されます。ただし,標準出力ファイルと標準エラー出力ファイルの情報は保存されます。
- 再実行するジョブネットまたはジョブの先行ジョブの状態変更
先行のジョブネットやジョブが,異常検出終了,強制終了,起動失敗,終了状態不明,または未実行終了状態だった場合,再実行時に状態を正常終了,警告検出終了,または計画未実行に強制的に変更します。状態変更の詳細を次の表に示します。
表10-5 ユニットの状態変更
項番 先行ユニット状態 状態の存在有無※1 先行ユニット状態変更後 ジョブネット ジョブ 異常状態の先行ユニットを
警告終了にするルート ネスト する しない 1 未計画 ○ ○ ○ 未計画 未計画 2 開始時刻待ち ○ ○ − 開始時刻待ち 開始時刻待ち 3 先行終了待ち − ○ ○ 先行終了待ち 先行終了待ち 4 保留中 ○ ○ ○ 保留中 保留中 5 実行待ち − − ○ 実行待ち 実行待ち 6 キューイング − − ○ キューイング キューイング 7 未実行終了[-W] − ○ ○ 警告検出終了 計画未実行 8 計画未実行 − ○ ○ 計画未実行 計画未実行 9 実行中 ○ ○ ○ 実行中 実行中 10 警告検出実行中 ○ ○ − 警告検出実行中 警告検出実行中 11 異常検出実行中 ○ ○ − 異常検出実行中 異常検出実行中 12 正常終了 ○ ○ ○ 正常終了 正常終了 13 警告検出終了 ○ ○ ○ 警告検出終了 警告検出終了 14 異常検出終了[-WR] ○ ○ ○ 警告検出終了 正常終了 15 繰り越し未実行 ○ ○ − 警告検出終了 計画未実行 16 順序不正 ○ ○ − 警告検出終了 正常終了 17 中断 ○ ○ − V5:警告検出終了※4
V6:中断※4V5:警告検出終了※4
V6:中断※418 強制終了[-WR] ○ ○ ○ 警告検出終了 正常終了 19 起動失敗[-WR] − − ○ 警告検出終了 正常終了 20 終了状態不明[-WR] − − ○ 警告検出終了 正常終了 21 閉塞 ○ ○ ○ × × 22 正常終了 -偽 − − ○ 正常終了 -偽 正常終了 -偽 23 起動条件待ち ○ ○※3 − × × 24 監視中 ○ ○※3 − × × 25 監視未起動終了 ○ ○※3 − × × 26 監視打ち切り終了 ○ ○※3 − × × 27 監視中断 ○ ○※3 ○※3 × × 28 監視正常終了 ○ ○※3 − × × 29 開始遅延 ○ ○※3 − ※2 ※2 30 終了遅延 ○ ○ ○ ※2 ※2 31 ネスト開始遅延 ○ ○ − ※2 ※2 32 ネスト終了遅延 ○ ○ − ※2 ※2
- (凡例)
- ルート:ルートジョブネット
- ネスト:ネストジョブネット
- ○:取り得る状態
- −:存在しない状態
- ×:再実行不可(エラーメッセージ出力)
- 注
- 項番1〜6は,一度上位ジョブネットが終了してから先行ユニットを再実行した場合の状態です。
- 注※1
- 各ユニットがその状態を取ることがあるかどうかを示しています。
- 注※2
- 遅延はユニット状態の付加情報なので,後続ユニットを再実行しても遅延状態は変わりません。
- 注※3
- 起動条件(.CONDITION)または起動条件中のイベントアイコンだけがこの状態になるため,先行ユニットにはなりません。
- 注※4
- 中断の後続ユニット部分再実行は,環境設定パラメーター"VRSHIFT_INTRERUN"の設定値(「V5」/「V6」)によって異なります。デフォルトは「V6」です。表では,それぞれの変更後の状態を示しています。
- 異常検出終了したユニットの後続ユニットを再実行する場合
異常検出終了したユニットの後続ユニットは,リカバリーユニットを除いてすべて「未実行終了」状態に遷移します。この状態遷移は,関連線で接続された順に1ユニットずつ行われます。そのため,異常検出終了したユニットの後続ユニットを再実行する場合,タイミングによっては後続ユニットが「先行終了待ち」状態のまま「未実行終了」状態に遷移していないことがあります。異常検出終了したユニットの後続ユニットを再実行する場合は,後続ユニットがすべて「未実行終了」状態に遷移するのを待ってから実行してください。特に,リカバリージョブから再実行する場合には注意が必要です。
異常検出終了したユニットに「先行終了待ち」状態の後続ユニットがあるときに後続ユニットを再実行すると,次のようなことが発生するおそれがあります。
- 再実行に失敗する
再実行するユニットがまだ「先行終了待ち」状態であるときに再実行した場合に発生します。
図10-21 「先行終了待ち」状態のユニットを再実行した場合
再実行しようとしたJobCは「先行終了待ち」状態であるため,再実行できません。JobCが「未実行終了」状態に遷移するのを待ってから再実行してください。
- 指定したユニットだけを再実行した場合に後続ユニットが実行される
「先行終了待ち」状態のユニットが残っているときに「未実行終了」状態のユニットを再実行し,「先行終了待ち」状態のユニットに「異常検出終了」状態の先行ユニットがなくなった場合に発生します。
図10-22 後続ジョブに「先行終了待ち」状態のユニットが残っている場合
「未実行終了」状態のJobCを再実行すると,JobCは「先行終了待ち」状態に,JobAは「正常終了」状態に,JobBは「計画未実行」状態に遷移します。JobDの先行ユニットに「異常検出終了」状態のユニットがなくなったため,JobDは「未実行終了」状態に遷移しないで,JobCの再実行後に実行されます。
- 多重起動に「不可能」を設定している場合
多重起動に「不可能」を設定しているジョブネットを再実行したときに,別の世代が実行中となっている場合,再実行した世代は開始時刻待ちとなり,実行中世代の終了を待ってから再実行されます。
なお,同様の状況で,多重起動に「可能」を設定している場合はすぐに再実行されます。
- スケジューリング方式に「スケジュールスキップ」を設定している場合
スケジューリング方式に「スケジュールスキップ」を設定しているジョブネットを再実行した場合,スケジュールがスキップされるのは,前の実行分が実行スケジュールによって実行されているときだけです。前の実行分が再実行操作によって実行されているときは,実行スケジュールはスキップされないで再実行が終了してから実行されます。
スケジュールスキップの詳細については,「3.4.3(2) スケジューリング方式」を参照してください。
- 判定ジョブの結果でルートジョブネットや先行ユニットを再実行する場合
判定ジョブの結果で,ルートジョブネットや先行ユニットを再実行する場合は注意が必要です。詳細については,「3.2.3 先行ジョブの結果でそのあとの処理を動的に変える(判定ジョブを使ったジョブネットの定義例)」を参照してください。
(6) リカバリージョブから再実行する場合の注意事項
異常検出終了になったジョブの後続に接続されているリカバリージョブが実行中に,異常検出終了したジョブの後続ジョブから再実行すると,実行中のリカバリージョブに接続されている後続のリカバリージョブまたはリカバリージョブネットは未実行終了となり実行されません。このような場合は,実行したいリカバリー処理をすべて行ってから再実行されるようにしてください。
異常を検出しても後続を動かしたい場合は,判定ジョブを用いて,ジョブの終了コードがしきい値を超えたら従属ジョブおよび従属ジョブネットでリカバリー処理を実行するような運用を検討してください。
(7) 起動条件付きジョブネットを再実行する場合の注意事項
起動条件の監視が完了して監視中が次の状態になるとき,ルートジョブネット配下のユニットの状態は,「未実行終了」となります。
- 監視未起動終了
- 監視打ち切り終了
- 監視正常終了
「未実行終了」は異常終了として扱われるため,上記の状態の世代に対して再実行する場合は注意してください。
Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.