Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 導入ガイド


4.5.11 実行が終了したジョブネットやジョブを再実行する

実行が終了したジョブネットやジョブの実行結果を指定して,再実行できます。

再実行には,ルートジョブネットの再実行と,ネストジョブネットまたはジョブの再実行の2種類があります。それぞれの方法について説明します。

この操作は,JP1/AJS3 - View,Web GUI,再実行APIまたはajsrerunコマンドで実行できます。JP1/AJS3 - Viewでの操作については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド 9.11 ジョブネットやジョブを再実行する」を,Web GUIでの操作については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド 16.10 [再実行]ダイアログボックス」を,再実行APIで操作する場合は,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 7.1.18 再実行API」を,また,コマンドで操作する場合は,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 3. 通常の運用で使用するコマンド ajsrerun」を参照してください。

補足事項
  • ジョブネットコネクタを使ってルートジョブネットの実行順序を制御している場合の再実行については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.2.4(5) ジョブネットコネクタ・接続先のジョブネットの再実行」を参照してください。

  • 待ち合わせ条件を使用してユニットの実行順序を制御している場合の再実行については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.2.5 待ち合わせ条件を使用したユニットの実行順序制御」を参照してください。

〈この項の構成〉

(1) ルートジョブネットを再実行する

ルートジョブネットを再実行する場合,次の中から再実行方法を選べます。

異常終了ジョブから

異常終了したジョブから再実行します。異常終了したジョブの前に正常終了したジョブがあっても,正常終了したジョブは再実行しません。

再実行してジョブが正常終了すると,後続ジョブを実行し処理を続行します。

ネストジョブネットが異常終了した場合,ネストジョブネット中の異常終了したジョブから再実行します。

異常終了ジョブの次から

異常終了したジョブの次のジョブから再実行します。

ネストジョブネットが異常終了した場合,ネストジョブネット中の異常終了したジョブの次のジョブから再実行します。

異常終了したジョブネットから

異常終了したジョブを直下に含むジョブネットから再実行します。

ネストジョブネット直下に,異常終了したジョブ以外に正常終了したジョブがあっても,ネストジョブネット直下全体とその後続ユニットが再実行されます。ルートジョブネット直下に異常終了したジョブがある場合は,ルートジョブネット全体が再実行されます。

ジョブネットの先頭から

ルートジョブネットの先頭から再実行します。

警告終了ジョブだけ

警告終了したジョブだけを再実行します。ネストジョブネットを定義している場合,ネストジョブネット中で警告終了となったジョブを再実行します。

また,一度警告終了したあとに再実行して異常終了しているジョブも再実行します。

(2) ネストジョブネットまたはジョブを再実行する

ネストジョブネットやジョブを再実行する場合,次の中から再実行方法を選べます。

指定したジョブネットまたはジョブから

指定したジョブネットまたはジョブから再実行します。再実行してジョブネットまたはジョブが正常に終了したら,後続ジョブを実行し処理を続行します。

指定したジョブネットまたはジョブの次から

指定したジョブまたはネストジョブネットの次のジョブから再実行します。

指定したジョブネットまたはジョブだけ

指定したジョブまたはネストジョブネットだけ再実行します。

次の場合は,再実行してもエラーとなって,再実行できません。

また,次の場合は再実行してもエラーになりません。ただし,再実行対象のジョブネットまたはジョブは実行されません。

(3) 判定ジョブの先行ジョブが異常終了した場合

判定ジョブの先行ジョブが異常終了した場合,異常終了した先行ジョブを次のように再実行できます。

注※1

異常終了した先行ジョブの次から再実行した場合の動作

  • 判定ジョブの先行ジョブが異常終了したあと,異常終了した先行ジョブの次から再実行すると,異常終了した先行ジョブの状態が「正常終了」に変わり,次の判定ジョブから処理が実行されます。

  • 先行ジョブの終了コードを使って判定ジョブの判定処理をする場合は,先行ジョブが異常終了したときの終了コードが使用されます。

注※2

先行ジョブが,警告終了後に再実行によって異常終了している場合です。

(4) 判定ジョブの従属ユニットを再実行する方法

従属ユニットとは,判定ジョブの実行結果によって,実行するかどうかが決まるユニットのことです。判定ジョブに関連づけられている従属ユニットが異常終了した場合の再実行方法は,従属ユニットを再実行するかどうかの設定によって異なります。従属ユニットを再実行するための設定については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 6.2.23 従属ユニットを再実行するための設定」(Windowsの場合)またはマニュアル「JP1/Automatic Job Management System 3 構築ガイド 15.2.21 従属ユニットを再実行するための設定」(UNIXの場合)を参照してください。

従属ユニットを再実行しない設定の場合(環境設定パラメーターRERUNSUBORDINATEが「no」の場合)

通常のジョブ(PCジョブやUNIXジョブなど)と異なり,従属ユニットは再実行できません。先行する判定ジョブから再実行することもできません。

従属ユニットが異常終了した場合は,上位のジョブネットを選択して再実行してください。

従属ユニットを再実行する設定の場合(環境設定パラメーターRERUNSUBORDINATEが「yes」の場合)

従属ユニットを再実行できるかどうかは,従属ユニットのユニット種別と状態によって異なります。

従属ユニットを再実行するには,次の条件をすべて満たしている必要があります。

  • JP1/AJS3 - Managerのバージョンが10-00以降

  • 条件接続している判定ジョブの判定結果が真

  • 条件接続している判定ジョブの状態が「正常終了」

  • 従属ユニットのユニット種別が,次の表で「○」になっている

    表4‒5 再実行できる従属ユニットのユニット種別

    項番

    ユニット種別

    従属ユニットとして定義されているユニット

    従属ジョブネット内に定義されているユニット

    1

    ジョブグループ

    2

    ルートジョブネット

    3

    ネストジョブネット

    4

    ルートリモートジョブネット

    5

    ネストリモートジョブネット

    6

    マネージャージョブグループ

    7

    マネージャージョブネット

    8

    プランニンググループ

    9

    標準ジョブ

    10

    ジョブネットコネクタ

    11

    ORジョブ

    12

    判定ジョブ

    ×

    13

    イベントジョブ

    14

    アクションジョブ

    15

    カスタムジョブ

    16

    引き継ぎ情報設定ジョブ

    17

    HTTP接続ジョブ

    (凡例)

    ○:再実行条件を満たしていれば,再実行できる

    ×:再実行できない

    −:従属ユニットとして定義できない

  • 従属ユニットの状態が,次の表で「○」になっている

    表4‒6 従属ユニットのユニット種別と状態による再実行可否

    項番

    状態

    従属ユニットのユニット種別

    ジョブネット

    ジョブ

    ジョブネットコネクタ

    1

    未計画

    ×

    ×

    ×

    2

    開始時刻待ち

    ×

    3

    先行終了待ち

    ×

    ×

    ×

    4

    保留中

    ×

    ×

    5

    実行待ち

    ×

    6

    キューイング

    ×

    7

    未実行終了

    8

    未実行終了-W

    9

    計画未実行

    10

    実行中

    ×

    ×

    ×

    11

    異常検出実行中

    ×

    ×

    12

    警告検出実行中

    ×

    ×

    13

    正常終了

    14

    正常終了-偽

    15

    警告検出終了

    16

    異常検出終了

    17

    異常検出終了-WR

    18

    繰り越し未実行

    ×

    19

    順序不正

    20

    中断

    21

    強制終了

    22

    強制終了-WR

    23

    起動失敗

    24

    起動失敗-WR

    25

    終了状態不明

    26

    終了状態不明-WR

    27

    閉塞

    ×

    ×

    ×

    28

    起動条件待ち

    29

    監視中

    30

    監視未起動終了

    31

    監視打ち切り終了

    32

    監視中断

    33

    監視正常終了

    (凡例)

    ○:再実行できる

    ×:再実行できない

    −:存在しない状態

(5) ジョブネットまたはジョブの再実行の注意事項

ジョブネットまたはジョブの再実行での注意点を次に示します。

(6) リカバリーユニットから再実行する場合の注意事項

異常検出終了になったジョブの後続に接続されているリカバリーユニットが実行中に,異常検出終了したジョブの後続ジョブから再実行すると,実行中のリカバリーユニットに接続されている後続のリカバリーユニットは未実行終了となり実行されません。このような場合は,リカバリー処理をすべて実行してから再実行するようにしてください。

また,リカバリージョブネットの実行中に,異常終了した先行ユニットを指定して「このユニットの次から」のオプションで再実行するなど,実行中だったリカバリージョブネットも再実行対象となるように再実行した場合で,再実行操作によって先行ユニットが異常終了状態ではなくなったときに,リカバリージョブネット配下のユニットが未実行終了となり,リカバリージョブネットが中断することがあります。

リカバリージョブネットを中断にさせずに,異常終了した先行ユニットの後続を再実行したい場合は,後続ユニットを指定して「このユニットから」のオプションで再実行するなど,リカバリージョブネットが再実行対象とならないようにしてください。

なお,リカバリーユニットでajsrerunコマンドを使用して後続ユニットを再実行したい場合,ajsrerunコマンドの-rr-rnおよび-riオプションを指定することで,対象ユニットが終了状態でない場合に再実行をリトライできます。ajsrerunコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 3. 通常の運用で使用するコマンド ajsrerun」を参照してください。

また,リトライするのは,図4-37のように,ajsrerunコマンドに指定したユニットが終了状態でない場合だけです。図4-38図4-39図4-40に示すような場合は,ほかのユニットが終了状態に遷移するまでリトライして待つことはできません。リカバリーユニットでajsrerunコマンドを使用して後続ユニットを再実行する場合の定義例については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.4.6 ジョブが異常終了したときに特定の処理を実行する(リカバリーユニットを使ったジョブネットの定義例)」を参照してください。

異常を検出しても後続を実行する場合は,判定ジョブを使って,ジョブの終了コードがしきい値を超えたら従属ユニットでリカバリー処理を実行するような運用を検討してください。

(7) 起動条件付きジョブネットを再実行する場合の注意事項

起動条件の監視が完了して監視中が次の状態になるとき,ルートジョブネット配下のユニットの状態は,「未実行終了」となります。

「未実行終了」は異常終了として扱われるため,上記の状態の世代を再実行する場合は注意してください。