JP1サポート技術者ブログ

  • ジョブ管理
2019.07.29

【JP1/AJS3】起動条件付きジョブネットの滞留を解消する3つの方法

【JP1/AJS3】起動条件付きジョブネットの滞留を解消する3つの方法

JP1/AJS3には、ある条件が成立した場合に処理を実行させるため、ジョブネットに「起動条件」を設定する機能があります。起動条件の機能は便利ですが、条件の成立回数や時間を見極めて指定しないと、条件が大量に成立して実行しきれなくなったり、成立せずに条件待ちのまま滞留してしまいます。その場合、ジョブの実行遅延が発生してしまう恐れがあります。

本記事では、起動条件付きジョブネットの滞留を解消する方法をご案内します。


起動条件付きジョブネットが滞留する仕組み

まず、仕組みについて説明します。起動条件付きジョブネットの滞留は、以下の図のようにルートジョブネットの「スケジュールルール」で「起動条件の有効範囲」を「無制限」にしていたり、処理時間より短いサイクルで起動条件が成立されるように設定すると発生します。「起動条件の有効範囲」を「無制限」にするといつまでも起動条件が終了せずに滞留してしまうため、不必要に設定しないようにしてください。

起動条件付きジョブネットが滞留するパターンは、以下の2つです。
1. 「起動条件待ち」のステータスが大量に発生する
  ※起動条件により動作するジョブが、起動条件成立より時間がかかる
2. 「監視中」のステータスが毎日発生する
 ※ 起動条件が成立せず、毎日滞留する

滞留すると以下の図のように、未実行のジョブネットが大量に残ってしまいます。

起動条件を滞留させない設定

そもそも、起動条件を滞留させない設定もあります。以下の画面の様に、起動条件のプロパティ画面にて「起動条件成立した実行世代の滞留」の設定を「繰り越して滞留させない」にしてください。

この設定により、ジョブが実行されている間に成立した起動条件を「繰り越し未実行」にする事ができます。ただ、「繰り越し未実行」になるため、 条件が成立してもジョブは実行されません
なお、繰り越し未実行になった場合、JP1/IMと連携している場合、以下のメッセージが出力されます。

KAVS0279-E ジョブネット(AJSROOT1:/ルートジョブネット名)が繰り越し未実行になりました


起動条件付きジョブネットの滞留を解消する方法

以下3つのいずれかの方法で、起動条件付きジョブネットの滞留は解消できます。ただ、作業工数や他のジョブネットへの影響を考慮し、「2」の方法をお勧めします。

1. 手動で、ジョブネットを実行中止または強制終了する
2. コマンドで、ジョブネットを実行中止または強制終了する
3. JP1/AJS3 - Managerをコールドスタートで開始させる


1. 手動でジョブネットを実行中止または強制終了する

JP1/AJS3 - Viewより該当ジョブネットのマンスリースケジュールを開き、「起動条件待ち」の場合は「実行中止」、「監視中」の場合は「強制終了」してください。

クリックして拡大

クリックして拡大


2. コマンドでジョブネットを実行中止または強制終了する

大量の「起動条件待ち」ステータスのジョブネットをコマンドで「実行中止」する方法

「ajsplan -p -B 実行登録番号」で実行中止ができます。実行登録番号はコマンドで確認できます。滞留している起動条件付きジョブネットの実行登録番号を確認し、for文で実行中止をする方法を紹介します。

実行手順

(1)以下のコマンドを実行し、ジョブネットの実行登録番号を出力する

●Windowsの場合
> ajsshow -F AJSROOT1 -g a -f "%J,%C,%D,%l" -RET /ルートジョブネット名 |findstr "起動条件待ち"

●UNIX系の場合
# /opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -g a -f "%J,%C,%D,%l" -RET /ルートジョブネット名 |grep "起動条件待ち"

●出力結果
以下は「/ルートジョブネット名」に「/起動条件成立_滞留」を入れた場合の結果です。

/起動条件成立_滞留,起動条件待ち,2019/06/07 9:00, 20190607003
/起動条件成立_滞留,起動条件待ち,2019/06/07 9:00, 20190607002
/起動条件成立_滞留,起動条件待ち,2019/06/06 9:00, 20190606004
/起動条件成立_滞留,起動条件待ち,2019/06/06 9:00, 20190606003

赤色 の箇所が「実行登録番号」です。csvファイルとして出力してExcelで開くと簡単に編集できます。

(2)実行登録番号のリストを作る
※「C:\temp\kanshi_list.txt」(任意ファイル)に記載します。
(UNIX系の場合は「/tmp/kanshi_list.txt」とします。)

20190607003
20190607002
20190606004
20190606003

青色 で記載した、一番新しい実行登録番号をajsplanで指定し「実行中止」する場合、ジョブネットが実行中のため、コマンドが失敗した旨の以下メッセージが出力されます。エラーを出したくない場合は、最初の実行登録番号は削除してください。

KAVS0110-E ジョブネット(/起動条件成立_滞留)は実行中です

(3)以下のコマンドを実行して「起動条件待ち」のジョブネットを「実行中止」にする

●Windowsの場合
> for /F "tokens=*" %i in (C:\temp\kanshi_list.txt) do ajsplan -p -B %i /ルートジョブネット名 & ping -n 2 localhost

●UNIX系の場合
# cat /tmp/kanshi_list.txt | while read line; do /opt/jp1ajs2/bin/ajsplan -p -B $line /ルートジョブネット名 & sleep 2; done

※ajsplanコマンドは、連続実行すると運用に影響が出る可能性があるため、「ping -n 2 localhost」や「sleep 2」などを加えて2秒程度の間隔をあけることを推奨しています。


大量に「監視中」になっているジョブネットをコマンドで「強制終了」させる方法

「ajskill -B 実行登録番号」で強制終了ができます。前述の実行登録番号の確認コマンドで、出力条件を「起動条件待ち」から「監視中」に変更します。

実行手順

(1)以下のコマンドを実行し、ジョブネットの実行登録番号を出力する

●Windowsの場合
> ajsshow -F AJSROOT1 -g a -f "%J,%C,%D,%l" -RET /ルートジョブネット名 |findstr "監視中"

●UNIX系の場合
# /opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -g a -f "%J,%C,%D,%l" -RET /ルートジョブネット名 |grep "監視中"

●出力結果
以下は「/ルートジョブネット名」に「/起動条件成立しない_滞留」入れた場合の結果です。

/起動条件成立しない_滞留,監視中,2019/06/07 9:00, 20190607001
/起動条件成立しない_滞留,監視中,2019/06/06 9:00, 20190606001
/起動条件成立しない_滞留,監視中,2019/06/05 9:00, 20190605001
/起動条件成立しない_滞留,監視中,2019/06/04 9:00, 20190604001

赤色 の箇所が「実行登録番号」です。csvファイルとして出力しExcelにて開くと簡単に編集できます。

(2)実行登録番号のリストを作る
※「C:\temp\kanshi_list.txt」(任意ファイル)に記載します。
(UNIX系の場合は「/tmp/kanshi_list.txt」とします。)

20190607001
20190606001
20190605001
20190604001

(3)以下のコマンドを実行して「監視中」のジョブネットを「強制終了」する

●Windowsの場合
> for /F "tokens=*" %i in (C:\temp\kanshi_list.txt) do ajskill -B %i /ルートジョブネット名 & ping -n 2 localhost

●UNIX系の場合
# cat /tmp/kanshi_list.txt | while read line; do /opt/jp1ajs2/bin/ajskill -B $line /ルートジョブネット名 & sleep 2; done

JP1/IMと連携している場合、「監視中」のジョブネットを「強制終了」すると、Informationレベルで出力されます。

KAVS0241-I ジョブネット(AJSROOT1:/起動条件成立しない_滞留:@XXXXX)の起動条件監視が終了しました(status: c)

(4)「実行中」になっているジョブネットは、判断の上、手動で強制終了

【マニュアル】
『JP1 Version 11 JP1/Automatic Job Management System 3 設計ガイド(システム構築編)』
 1.3.1 JP1/AJS3を運用する上で見積もりや設定が必要な項目
 https://itpfdoc.hitachi.co.jp/manuals/3021/30213B1320/AJSH0009.HTM


3. JP1/AJS3 - Managerをコールドスタートで開始させる

以下手順でJP1/AJS3サービスをコールドスタートしてください。
※コールドスタートをすると、すべてのルートジョブネットで実行登録が解除された状態で起動してきます。
ご注意ください。

実行手順

●Windowsの場合
1. JP1/AJS3のサービスを停止
2. JP1/AJS3のサービス画面を開く
3. 開始パラメーターに「-cold」を入れる
4. 開始ボタンを選択

以下画面を参考に実施してください。

●UNIX系の場合
以下のコマンドを実行してください。

# /opt/jp1ajs2/bin/jajs_spmd -cold
※論理ホストの場合、「-h 論理ホスト名」を追加して実行してください。


ブログ執筆者からひとこと

こんにちは。アシストサポートセンターの本田です。

今回は、起動条件の滞留について紹介させて頂きました。起動条件を「無制限」にして実行させる場合は、起動条件が滞留しないように設計した上で実行して頂ければ幸いです。
また、対処方法として、コールドスタートがありますが、他のルートジョブネットにも影響してしまいます。かといって、一つずつ手動で「実行中止」や「強制終了」するのもかなり大変です。そこで、コマンドを利用して簡単にできないか考えて、今回のブログを作成するに至りました。

2~3秒空けて連続実行すると運用に影響がでるコマンドを利用するため、pingで2秒待たせる処理を入れたりして工夫しました。JP1で大量に起動条件が滞留する事象が発生しましたら、是非、使ってみてください。


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

JP1/Automatic Job Management System 3 - Manager / JP1/AJS3 - Manager Version 9.0 以降
JP1/Automatic Job Management System 3 - View / JP1/AJS3 - View Version 9.0 以降

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

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

アシストとJP1保守契約を締結されている方は、Webサポートセンター「AWSC」をご利用いただけます。本ブログサイトではご紹介しきれない3,000件以上のFAQを公開していますので、是非ご利用ください。
また、アシストではJP1ユーザ企業様向けの無償セミナーや支援サービスを多数ご提供しています。JP1の潜在リスクを洗い出す診断サービスや、バージョンアップ時のノウハウをご紹介するセミナーなどご用意していますので、貴社の課題解決へとお役立てください。アシストと保守契約を締結されていないお客様にもご参加いただけます。詳細は、下記リンクよりご確認ください。



執筆者情報

2007年7月アシストに中途入社し一貫してJP1の顧客サポートを担当。「JP1サポート技術者ブログ」の編集リーダー。「JP1認定シニアコンサルタント」の資格保有者。このブログでは、知って便利な情報を紹介したいと思います。

休みの日は、家族の食事を毎食作り、子どもと一緒に遊んでいます。
最近はホットヨガにはまってます。

本田 祐次

関連している記事

  • ジョブ管理
2023.12.22

【JP1/AJS3】無償利用可!V13新機能「マネジメントポータル」でJP1/AJS3の稼働状況を可視化

V13で新たに実装された、JP1/AJS3システムのリアルタイムな稼働状況をWEB画面で確認できる「マネジメントポータル」機能について詳しくご紹介します。

  • ジョブ管理
2022.06.29

【JP1/AJS3】ネットワークを介したファイル監視をサポート!設定方法や注意点は?

最新バージョンでサポートされた、ネットワークを介したファイルの監視機能。使用するには事前設定が必要です。本ブログでは設定方法をご紹介します。

  • ジョブ管理
2022.05.30

【JP1/AJS3】JP1 Version 8 限定サポート終了間近!移行前チェックポイント6選

限定サポート終了間近のJP1/AJS2からJP1/AJS3へ移行するにあたり、押さえておくべき6つのポイントをご紹介します。

ページの先頭へ戻る