JP1サポート技術者ブログ

ジョブ管理

【JP1/AJS3】繰り越し未実行の発生パターン3つ!関連する設定項目を徹底解説

公開日:
更新日:
ジョブ管理

JP1/AJS3でジョブ実行をしていると、一度は見かける「繰り越し未実行」。

今までスケジュール通りに動いていたのに、実行されていない、繰り越し未実行のメッセージが繰り返し出力されて焦ったという経験はありませんか?
原因調査や対処の要否などについてのお問い合わせは、非常に多く寄せられます。 今回は「繰り越し未実行」が発生する原因と関連する設定項目について、分かりやすく解説します。

「繰り越し未実行」とは?

繰り越し未実行とは、一言で言えば「さまざまな要因により、ジョブネットが予定された日時に実行されなかった状態」のことです。

※起動条件が付いていないジョブネットの場合は、繰り越し未実行となった世代のうち、直近の世代のみが1行繰り越し未実行として表示されます。

ジョブネットが繰り越し未実行になると、統合トレースログにメッセージが出力されます。エラーメッセージとして出力されますが、エラーではなくジョブネットが実行されずに終了したことを示します。

メッセージ例

KAVS0279-E ジョブネット(AJSROOT1:/jobgroup/jobnet01:@A110)が繰り越し未実行になりました

統合トレースログの出力先(デフォルト)

 Windowsの場合
 C:\Program Files (x86)\HITACHI\HNTRLib2\spool\hntr2{1|2|3|4}.log

 UNIXの場合
 /var/opt/hitachi/HNTRLib2/spool/hntr2{1|2|3|4}.log

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 導入ガイド
6.1 ジョブネット・ジョブ・ジョブネットコネクタの状態

ページトップへ戻る

「繰り越し未実行」が発生する3つのパターンと回避方法

繰り越し未実行が意図した動作ではない場合、以下の表を参考に、どの発生パターンに該当するかを確認し、対応する設定の見直しを検討してください。

発生パターン

回避方法

JP1/AJS3 - Managerサービス再起動のタイミングで発生

実行登録時の指定の見直し
①へ

0時前後に発生

ジョブネットの「打ち切り時間」の設定の見直し
②へ

前の世代が実行中に、次の世代が開始したことによって発生
(①と②に該当しない場合)

ジョブネットの実行が重なった際の設定の見直し
通常のジョブネットの場合: ③-1へ
起動条件付きジョブネットの場合: ③-2へ

「繰り越し未実行」になったジョブネットの再実行は必要?

業務要件として実行しなければならない場合は、 ジョブネットの再実行 をしてください。
繰り越し未実行が発生し、ジョブネットが実行されなかったことによる業務上の問題がなければ、そのままにして構いません。デフォルトの設定の場合、前のジョブネットの実行が終わっていれば、次回分はスケジュール通りに動きます。

要因となったジョブネットの時刻を特定する

繰り越し未実行が発生した時間帯にJP1/AJS3 - Managerサービスの再起動を行っていない場合、前回のジョブネットの「終了日時」を確認することで、どの時間帯に開始したジョブネットが要因となって繰り越し未実行が発生したかを特定できます。

JP1/AJS3 - Viewから、繰り越し未実行の発生時間より前に動いていたジョブネットの「終了日時」を確認してください。

JP1/AJS3 - Viewに残っていない場合は、スケジューラーログから確認します。

スケジューラーログの出力先(デフォルト)

 Windowsの場合
 C:\ProgramData\Hitachi\jp1\jp1_default\JP1AJS2\log\schedule\AJSROOT1\ajs-log{1|2}.log

 UNIXの場合
 /var/opt/jp1ajs2/log/schedule/AJSROOT1/ajs-log{1|2}.log

メッセージ例

 N001 Apr 17 16:30:00 [4428] KAVS0260-I AJSROOT1:/jobgroup/jobnet01:@A109
 J006 Apr 17 16:30:00 [4428] KAVS0278-I AJSROOT1:/jobgroup/jobnet01/PCジョブ:@A109
 J001 Apr 17 16:30:00 [4428] KAVS0263-I AJSROOT1:/jobgroup/jobnet01/PCジョブ:@A109 serverA 4
 N013 Apr 17 16:31:00 [2316] KAVS0279-E AJSROOT1:/jobgroup/jobnet01:@A110
 J002 Apr 17 16:31:30 [4428] KAVS0264-I AJSROOT1:/jobgroup/jobnet01/PCジョブ:@A109 serverA 0 4
 N002 Apr 17 16:31:30 [4428] KAVS0261-I AJSROOT1:/jobgroup/jobnet01:@A109

※ログ末尾の「@XXX」は、ジョブネットの実行IDです。1回の実行単位(世代)ごとに固有のIDが付与されます。

  1. スケジューラーログのN013の出力行から、ジョブネット「AJSROOT1:/jobgroup/jobnet01」が16:31に繰り越し未実行になったことを確認します。

  2. スケジューラーログを遡り、同じジョブネット「AJSROOT1:/jobgroup/jobnet01」の開始ログ(N001)を探し、前回実行分の実行ID(@A109)を特定します。

  3. 実行ID(@A109)からジョブネットの終了ログ(N002・N003・N004)と前回分がいつ終わったのかを確認します。

この例では、N002のログから前回分(@A109)が「16:31:30」に正常終了したことが分かります。次の回の開始時刻(16:31)を30秒オーバーしていたことが繰り越し未実行の原因と特定できます。

ログ種別解説

種別

内容

N001

ジョブネット開始

J006

ジョブサブミット開始

J001

ジョブ実行開始

N013

ジョブネット繰り越し未実行

J002

ジョブ正常終了

N002

ジョブネット正常終了

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 トラブルシューティング
付録C.1 スケジューラーサービスが出力するログ

ページトップへ戻る

発生パターン別の関連設定と見直しポイント

ここからは3つのパターンごとに、「繰り越し未実行」に関連する設定の動作と、見直しポイントを解説します。

①JP1/AJS3 - Managerサービス再起動時のタイミングで発生

<動作解説>
ジョブネットの実行登録時に「デーモン起動時に予定時刻超過:次回から実行する」を選択していた場合、
JP1/AJS3 - Managerサービスを再起動すると、サービスが停止していた時間に実行を予定していたジョブネットは繰り越し未実行になります。

現在どのように実行登録されているかは、以下の手順で確認できます。
 1.JP1/AJS3 - Viewにログインします。
 2.[機能メニュー]から[実行登録]を選択します。
 3.対象ジョブネットを選択した状態で画面中央の[表示]ボタンを押下します。
 4.「デーモン起動時に予定時刻超過」の設定を確認します。

<見直しポイント>
サービス起動時、当日の予定時刻を超過したジョブネットをすぐに実行させたい場合は、一度実行登録を解除し、「デーモン起動時に予定時刻超過:すぐに実行する」を選択し、実行登録をし直してください。

※この設定はウォームスタート時のみに影響します。ホットスタートの場合は、この設定による繰り越し未実行は発生しません。

②0時前後に発生(ジョブネットの打ち切り時間超過)

<動作解説>
ジョブネットが深夜0時前後で繰り越し未実行に遷移している場合、ジョブネットの「打ち切り時間」の設定が関連している可能性があります。

「打ち切り時間」とは 開始予定時刻を過ぎたとき、どのくらい経過した時点でジョブネットの「開始時刻待ち」または「保留中」の状態を打ち切るかの設定です。
基準時刻(デフォルト0時)を起点に「システム設定に従う(デフォルト)/1日/2日/無制限」のいずれかを指定します。「デフォルト(システム設定に従う)」の場合、0時の時点で開始していないジョブネットは繰り越し未実行になります。

項目

内容

システム設定に従う

デフォルトの設定です。環境設定パラメーターEXECDEFERの値に従い打ち切ります。EXECDEFERはデフォルト「1日」です。

1日

開始予定日の基準時刻から23:59:59後にジョブネットを打ち切ります。
48時間制で、開始予定日時が24:00~47:59のスケジュールは、打ち切り時間「2日」です。

2日

開始予定日の基準時刻から47:59:59後に打ち切ります。

無制限

打ち切り時間はありません。

<見直しポイント>
打ち切り時間が「1日」または「2日」の場合は、打ち切り時間に到達した時点で「開始時刻待ち」状態または「保留中」状態を打ち切ります。そのため、「無制限」に変更することで、ジョブネットの打ち切り時間によって繰り越し未実行となることはありません。
ただし、ジョブネットの打ち切り時間は、実行登録中に変更しても反映されません。一度実行登録を解除して再度実行登録する必要があります。

ジョブネットの打ち切り時間を無制限にした場合、前の世代の処理が長引いた際に次の世代が繰り越し未実行に遷移しないため、長期実行に気づけなくなる懸念があります。その場合は対象ジョブネットやジョブに「遅延監視」を設定し、処理遅延を検知できるようにしておきましょう。

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 導入ガイド
3.1.1 ユニット

③ 前回のジョブネットが終了しておらず、次の実行が重なったタイミングで発生

スケジュール通りに動いていたのに、突然繰り越し未実行になったというケースの多くは、前世代の処理が長引いたことによる次のジョブネットの開始時刻超過です。

例えば、15分間隔で実行しているジョブネットで、8:00の処理が長引いた場合に、8:15にスケジュールされた分が、スキップされ実行されず繰り越し未実行に遷移します。

ジョブネットの種類によって、実行が重なった際の挙動に関する設定項目が変わります。
・通常のジョブネット(開始時刻を指定して実行)
・起動条件付きジョブネット(条件成立を契機に実行)

③-1通常のジョブネットで実行が重なった場合

<動作解説>
以下設定の場合に、繰り越し未実行が発生します。
・「スケジューリング方式:スケジュールスキップ」

[スケジュール方式]:スケジュールスキップ
(デフォルト)

開始予定時刻が前の実行分の処理と重なっているジョブネットの実行予定をスキップします。

[スケジュール方式]:多重スケジュール

[多重起動]の設定は、[スケジューリング方式]で多重スケジュールを選択した場合にだけ有効になります。

[多重起動]:不可能(デフォルト)

前の実行分の処理が終了するまで待ってから次のジョブネットを実行します。

[多重起動]:可能

前の実行分のジョブネットが次の開始予定時刻と重なっても、前の実行分の終了を待たないで多重に実行します。

<見直しポイント>
業務要件として同時に実行しても良い場合は、設定を見直すことで、繰り越し未実行となるのを防ぐことができます。

例えば、15分間隔で実行しているジョブネットで、8:00の処理が長引いた場合、設定ごとの動作は以下のとおりです。

▼「スケジューリング方式:多重スケジュール」かつ「多重起動:不可能」の検討

前のジョブネット終了後に次のジョブネットが開始するため、繰り越し未実行は発生しません。 ただし、この状態のまま打ち切り時間を経過すると開始時刻待ちは繰り越し未実行に遷移します。

▼「スケジューリング方式:多重スケジュール」かつ「多重起動:可能」の検討

前の処理が長引いた場合でも時間通りに次のジョブネットが開始します。開始時刻や処理時間など要件に合わせて、設定を検討してください。

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 導入ガイド
3.3.3 多重起動とスケジューリング方式

③-2起動条件付きジョブネットで実行が重なった場合

起動条件付きジョブネットが実行開始すると、事象の発生を監視を制御する世代(監視世代)と、事象の発生を待って動作する世代(実行世代)が生成されます。

監視世代または実行世代それぞれで、監視中または実行中があるとき、次回予定分のジョブネットが開始すると繰り越し未実行が発生する可能性があります。

監視世代の場合
<動作解説>

以下いずれかの設定の場合に、繰り越し未実行が発生します。
・「監視世代の多重起動:監視を開始しない」
・「監視世代の多重起動:監視の終了を待つ」

<見直しポイント>
業務要件として同時に実行しても良い場合は、設定を見直すことで、繰り越し未実行となるのを防ぐことができます。

▼「監視世代の多重起動:監視の終了を待つ」の検討

監視中のまま次の開始時刻になった場合に、監視世代は開始時刻待ちに遷移します。開始時刻待ちのまま打ち切り時間を過ぎると繰り越し未実行に遷移します。

▼「監視世代の多重起動:監視を開始する」の検討

監視中のまま次の開始時刻になった場合、新たな監視世代は監視中に遷移します。
ジョブネットのスケジュールに処理サイクルを設定していて起動条件の有効範囲を「無制限」にしている場合、この動作を選択すると、不要な監視世代が大量に多重起動して実行世代が大量に生成されるおそれがあるため、推奨しません。

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 導入ガイド
3.4.5 監視世代の多重起動

実行世代の場合
<動作解説>
「起動条件成立した実行世代の滞留:繰り越して滞留させない」かつ「多重起動:不可能」を設定していると繰り越し未実行が発生します。

クリックして拡大
クリックして拡大

定義箇所

項目

内容

ジョブネットの
[多重起動]

不可能

前の実行分の処理が終了するまでまってから次のジョブネットを実行する場合に指定。(デフォルト)

可能

前の実行分の終了を待たずに多重に実行する場合に指定。可能の場合、[起動条件成立した実行世代の滞留]は有効にはならない。

起動条件の
[起動条件成立した実行世代の滞留]

繰り越して
滞留させない

重複した実行世代は「繰り越し未実行」に遷移し、実行されない。

繰り越さずに滞留させる

重複した実行世代は「起動条件待ち」にして滞留させ、実行中の実行世代が終了してから、重複した実行世代の実行を開始する。(デフォルト)

<見直しポイント>
業務要件として同時に実行しても良い場合は、設定を見直すことで、繰り越し未実行となるのを防ぐことができます。

クリックして拡大

▼「多重起動:可能」の検討
1回目が実行中でも、2回目も並行して実行するため、繰り越し未実行は発生しません。

▼「多重起動:不可能」かつ「起動条件成立した実行世代の滞留:繰り越さずに滞留させる」の検討
1回目が実行中の場合、2回目は起動条件待ちで待つため繰り越し未実行は発生しません。

なお、起動条件待ちのステータスが大量に発生すると、ジョブの実行遅延に繋がります。詳細は、「【JP1/AJS3】起動条件付きジョブネットの滞留を解消する3つの方法 」をご確認ください。

参考マニュアル

JP1 Version 13 JP1/Automatic Job Management System 3 導入ガイド
3.4.4 実行世代の多重起動

ページトップへ戻る

「繰り越し未実行」になったジョブネットの再実行方法

繰り越し未実行になったジョブネットは、前のジョブネットの実行が終わっていれば、次回分はスケジュール通りに動きます。
繰り越し未実行になった回のジョブネットを動かす必要がある場合は、手動で「再実行」の操作を行ってください。

また、「前回異常時だけ保留」や「異常終了後の動作:ジョブネットの開始を保留する」に設定している場合、繰り越し未実行は異常終了として扱われるため、次回分が「保留中」となります。

クリックして拡大
クリックして拡大

▼繰り越し未実行は再実行させ、保留中は実行させたくない場合
1.保留中のジョブネットをすべて実行中止にします。
2.繰り越し未実行となったジョブネットを再実行します。

▼繰り越し未実行も保留中も実行させたくない場合
1.保留中のジョブネットをすべて実行中止にします。
2.繰り越し未実行となったジョブネット内の各ジョブの状態変更を行います。ジョブを右クリック-[ジョブの状態変更]から「正常終了」に変更してください。

ページトップへ戻る

おわりに

繰り越し未実行が発生した際は慌てず、JP1/AJS3 - Managerサービス再起動はなかったか、前のジョブネットの実行時間などを確認し、今回ご紹介した設定項目を見直してみてください。
JP1の設定の組み合わせで、安定したジョブ運用を目指しましょう。

製品正式名称(略称表記) および機能対象バージョン

JP1/Automatic Job Management System 3 - Manager(JP1/AJS3 - Manager)

ページトップへ戻る

JP1ブログをご覧いただいているみなさまへご案内

いつもJP1サポート技術者ブログをご覧いただきありがとうございます。

本ブログの執筆を担当しているアシストJP1サポートセンターは、「JP1認定技術者」の資格を持つサポート技術者の対応が支持され、お客様満足度は10年連続90%以上を維持しています。

紹介サイトでは、サポートセンターが誇る3つの特徴とJP1の最新情報満載の提供サービスを、お客様の声とともにご紹介しています。是非ご覧ください。

また、アシストとJP1保守契約を締結されている方は、Webサポートセンター「AWSC-2」をご利用いただけます。本ブログサイトではご紹介しきれない2,000件以上のFAQを公開していますので、是非ご利用ください。詳細は、下記リンクよりご確認ください。

ページトップへ戻る


この記事をシェアする

この記事を書いたスタッフ

株式会社アシスト

天野 伽映

株式会社アシスト

天野 伽映