JP1サポート技術者ブログ

JP1サポート技術者ブログ>【JP1/AJS3】ジョブがキューイングする5つの原因と対処方法

  • ジョブ管理
2018.04.26

【JP1/AJS3】ジョブがキューイングする5つの原因と対処方法

実行登録したはずのジョブが、設定した時間になっても「キューイング状態」となり、正常に開始されなかった経験はありませんか?今回は、JP1/AJS2(V8以前)やJP1/AJS3(V9以降)のジョブがキューイング状態となる、以下5つのケースと対処方法をご紹介します


ジョブがキューイングする5つの原因と対処方法

JP1/AJS3(JP1/AJS2)のジョブがキューイング状態になった場合は、以下5つのケースに該当しないか確認してください。

1.マネージャーホストとエージェントホスト間で名前解決が出来ていない

原因

JP1/AJS3(JP1/AJS2)は、ホスト名からIPアドレスで名前解決できる環境で動作します。特にマネージャーホストとエージェントホスト間の通信においては、それぞれのマシンの「ホスト名」を使用するため、互いのホスト名が正しく名前解決されていないとジョブがキューイング状態となります。

対処方法

DNS運用をしている場合は、ホスト名のIPアドレスがFQDN形式で正しく名前解決されるよう設定してください。

  • 論理ホスト名には、FQDN形式のホスト名が使用できません。

2.実行先ホストのJP1/AJS3およびJP1/AJS2サービスが起動していない

原因

JP1/AJS3(JP1/AJS2)は、エージェントホスト上の処理をマネージャーホストから実行できます。エージェントホストへジョブを配信する場合、配信先のJP1/AJS3(JP1/AJS2)サービスが正常起動している必要がありますが、サービスが停止していると、マネージャーホストはジョブを受信できずにキューイング状態となります。

対処方法

ジョブの実行先となるエージェントホストのJP1/AJS3(JP1/AJS2)サービスを起動してください。

Windowsの場合
1.[コントロールパネル]-[サービス]を選択。もしくは、[管理ツール]-[サービス]を選択します。
2.[JP1/AJS3]または[JP1/AJS2]サービスを選択して、[開始]をクリックします。

UNIXの場合
1.下記コマンドを実行して、サービス稼働状況を確認します。
   # /opt/jp1ajs2/bin/jajs_spmd_status
   KNAD3662-I プロセスは全て停止しています
2.サービスが停止している場合、下記コマンドを実行してサービスを起動します。
   # /opt/jp1ajs2/bin/jajs_spmd


3.ファイアウォールがJP1で使用するポートを遮断している

原因

JP1/AJS3(JP1/AJS2)は、ファイアウォールを挟んでJP1/AJS3 - Manager(JP1/AJS2 - Manager)と、JP1/AJS3 - Agent(JP1/AJS2 - Agent)またはJP1/AJS3 - View(JP1/AJS2 -View)を接続するシステム構成に対応しています。ただし、JP1サーバ間にてファイアウォールを透過し、通信可能であることが前提となります。そのため、JP1で使用するポートがファイアフォール側で遮断されていると、マネージャーホストとエージェントホスト間の通信が遮断されてジョブがキューイング状態となります。

対処方法

ファイアウォールを経由するネットワーク環境下でJP1を運用する場合、パケット・フィルタリングやNATへJP1/AJS3(JP1/AJS2)が使用するIPアドレスとポート番号を定義する必要があります。開放するポート番号や通信方向は以下の通りです。ジョブがキューイングする場合、まずは★印のポートをご確認ください。

設定が必要なプログラム名 サービス名 ポート番号 ファイアウォールの透過方向
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2qman ★20241/tcp エージェント → マネージャー
マネージャー ←→ マネージャー
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2qagt ★20242/tcp マネージャー → エージェント
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2qnfy ★20243/tcp エージェント → マネージャー
※1 JP1/AJS3 - Manager
  JP1/AJS3 - View
  JP1/AJS3 - Definition Assistant
jp1ajs2monitor 20244/tcp JP1/AJS3 - View → マネージャー
マネージャー ←→ マネージャー
JP1/AJS3 - Definition Assistant → マネージャー
※1 JP1/AJS3 - Manager jp1ajs2report 20245/tcp マネージャー ←→ マネージャー
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2qlagt 20300/tcp マネージャー → エージェント
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2qlftp 20301/tcp エージェント → マネージャー
※1 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2chkagt 23139/tcp マネージャー → エージェント
※2 JP1/AJS3 - Manager jp1ajs2gw 23160/tcp ジョブネットコネクタ実行ホスト ←→
接続先のジョブネット実行ホスト
※2 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2eamgr 20246/tcp エージェント → マネージャー
※2 JP1/AJS3 - Manager
  JP1/AJS3 - Agent
jp1ajs2eaagt 20247/tcp マネージャー → エージェント
※2 JP1/AJS3 - Manager 1jp1ajs2ca 22276/tcp マネージャー → マネージャー
※2 JP1/AJS3 - Manager
  JP1/AJS3 - View
jp1ajs2cm 22275/tcp JP1/AJS3 - View → マネージャー
※2 JP1/AJS3 - View jp1ajs2cfm 20450/tcp JP1/AJS3 - View → JP1/AJS2 - Configuration Manager
※2 JP1/AJS3 - Manager
  JP1/AJS3 - Software Development Kit
jp1ajs3cdinetd 22250/tcp
JP1/AJS3 - Software Development Kit → マネージャー
  • ※1 JP1/AJS3とJP1/AJS2でともに使用するポート番号です。
  • ※2 JP1/AJS3のみで使用するポート番号です。

4.ジョブ実行多重度を超えている

原因

JP1/AJS3(JP1/AJS2)では実行エージェントに同時実行ジョブ数(ジョブ実行多重度)を制限できます。そのため、指定したジョブ実行多重度を「0」で指定している場合や、設定値を超えてしまうと、ジョブはエージェントホストへ配信されずにキューイング状態となります。

対処方法

下記コマンドを実行して、ジョブ実行多重度を確認してください。

Windowsの場合(V8以前)
 > jpqagtshow –a
UNIXの場合(V8以前)
 # /opt/jp1ajs2/bin/ jpqagtshow –a

jpqagtshowコマンド実行結果

  • 出力内容
    AGENT:エージェントホスト名を示します。
    CUREXECHGNUM:現在のジョブ実行多重度を示します。
    EXECUTING:現在実行中のジョブ数を示します。

Windowsの場合(V9以降)
 > ajsagtshow –l
UNIXの場合(V9以降)
 # /opt/jp1ajs2/bin/ ajsagtshow –l

ajsagtshowコマンド実行結果

  • 出力内容
    AGENT:実行エージェント名を示します。
    STATUS:実行エージェントの受付配信制限の状態を示します。
    HOST:実行ホスト名を示します。
    CON-EXE:ジョブ実行多重度を示します。
    QUE:キューイング中のジョブの数を示します。
    JOB:実行中ジョブの数を示します。
    EVENT:実行中のイベントジョブ数を示します。
    DESCRIPTION:追加・変更時に設定した実行エージェントに対するコメントを示します。

必要に応じて、jpqagtalt(V8以前)やajsagtalt(V9以降)コマンドからジョブ実行多重度を変更してください。

5.キューの受付口や取出口が開いていない(V8以前)

原因

V8以前のJP1/AJS2は、JP1/AJS3とは「キュー」の概念が異なります。キューの受付口が閉じている場合、実行先ホストへジョブは配信されません。また、キューの取出口が閉じている場合も、マネージャーにジョブ実行結果を返すことができず、ジョブはキューイング状態となります。

対処方法

コマンド「Jpqqueshow」を実行して、受付口および取出口が開いているか確認してください。閉じている場合は「jpqqueopen」を実行して、受付口および取出口を開いてください。

Windowsの場合
 > jpqqueshow –mh マネージャーホスト名 -ah エージェントホスト名
UNIXの場合
 # /opt/jp1ajs2/bin/jpqqueshow

jpqqueshow実行結果例


KAVU0838-I デフォルトキュー情報(エージェント名)の表示を開始します
QUEUE : a : エージェント名
MAXQUEUE : 100
WARNQUEUE : 80
ENTRYSTATUS : CLOSE ←★ジョブの受付口の状態
EXITSTATUS : CLOSE  ←★ジョブの取出口の状態
QUEUING : 0
EXECUTING : 0
LINKAGENT : エージェント名:1
KAVU0842-I キュー情報の表示処理が正常終了しました

ENTRYSTATUSやEXITSTATUSが「CLOSE」と表示された場合は、ジョブの受付口および取出口が閉じているため、下記コマンドを実行します。

Windowsの場合
 > jpqqueopen -ah エージェント名 -en
UNIXの場合
 # /opt/jp1ajs2/bin/jpqqueopen -ah エージェント名 -en

jpqqueopenコマンド実行結果例
KAVU0835-I キュー(エージェント名)のジョブ受付口をオープンしました

なお、コマンドでエージェントを追加した直後はキューの受付口は閉じます。そのため、ジョブの登録を行う際はjpqqueopenコマンドを使用して、キューの受付口を開いてください。


まとめ

JP1/AJS3(JP1/AJS2)のジョブがキューイング状態となる事例をご紹介しました。ジョブがキューイングする原因が分からない場合は、本ブログでご紹介した5つの事象に該当しないかご確認をお願いします。

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

JP1/Automatic Job Management System 3 - Manager/JP1/AJS3-Manager 
JP1/Automatic Job Management System 2 - Manager/JP1/AJS2-Manager 
JP1/Automatic Job Management System 3 - Agent/JP1/AJS3-Agent 
JP1/Automatic Job Management System 2 - Agent/JP1/AJS2-Agent

執筆者情報

アシスト北海道新卒2期目。札幌でJP1サポート業務に従事して4年目となる。後輩も増え、札幌JP1チームの中堅として奮闘中。

休日はできるだけ着物で外出したいため、着付けの練習中です。

木原 桜子

関連している記事

  • ジョブ管理
2018.09.26

【JP1/AJS3】ジョブネットの「開始前」に実行予定を確認する方法とは?

『ジョブネットの登録方法を間違えて、想定外のタイミングで処理が開始してしまった…。』こんな経験はありませんか?今回はそれを防ぐため、実行登録前にスケジュール設定を確認する方法をご紹介します。

  • ジョブ管理
2018.08.29

【JP1/AJS3】本番リリースに向けた、ジョブ定義移行方法

JP1/AJS3の本番リリース作業。「ユニット定義」と「ジョブネットの登録予定情報」を正確に移行することが成功の秘訣です。今回は、コマンドを用いて定義をエクスポート/インポートする手順をご紹介します。

  • ジョブ管理
2018.06.22

【JP1/AJS3】組み込みDBの無効領域を解消してジョブ遅延を予防しよう

JP1/AJS3の組み込みDBに「無効領域」が発生すると、ジョブの遅延や異常終了に繋がるのをご存知でしたか?今回は、無効領域の増加が引き起こす3つの問題と、正しいメンテナンス方法をご紹介します。

ページの先頭へ戻る