JP1/AJS2 資料一覧

ジョブキューの操作方法

2005/2/8更新

対応バージョン: 6

主な操作について説明する。

準備

スーパーユーザになる

尚、スーパーユーザはJP1ジョブ(キュー)に対する管理者権限であるJP1_JPQ_Admin権限を持っているものとする。

環境設定(ジョブキューの設定変更)

JP1/AJS2のデーモン停止

スタンドアローン構成
# /etc/opt/jp1ajs2/jajs_stop
HA構成
# /etc/opt/jp1ajs2/jajs_stop.cluster <論理ホスト>

ジョブキュー削除(このディレクトリ配下を全て削除)

スタンドアローン構成
# /bin/rm -rf /var/opt/jp1ajs2/database/queue
HA構成
# /bin/rm -rf /usr/jp1/<論理ホスト>/jp1ajs2/database/queue

ジョブキューディレクトリ作成

スタンドアローン構成
# mkdir /var/opt/jp1ajs2/database/queue
HA構成
# mkdir /usr/jp1/<論理ホスト>/jp1ajs2/database/queue

設定ファイル変更

スタンドアローン構成
# vi /etc/opt/jp1ajs2/conf/jpqsetup.conf
HA構成
# vi /usr/jp1/<論理ホスト>/jp1ajs2/conf/jpqsetup.conf
:
$agent $a1 $system
  exec_jobs 0000 0000 5 ← 左から順番に以下の設定
                          ・ジョブ同時実行制御「開始」時刻
                          ・ジョブ同時実行制御「終了」時刻
                            (*) 上記2つを0000にすると00:00〜00:00(終日)という
                                設定になる。
                          ・最大同時実行ジョブ数
                            (*) この数を越えるジョブはキューイングされる。
  def_queue  $q1   ← デフォルトキュー ID
  max_jobs   20    ← キュー内のジョブ数の `最大値' (1)
  warn_jobs  10    ← キュー内のジョブ数の `警告値' (2)
  queue_ent  open  ← キューの受付口の初期状態(open/close)
  queue_exit open  ← キューの取出口の初期状態(open/close)
  connect    $a1 1 ← 接続ホスト
$end
:

(*) キュー内のジョブ数の設定について、(1) >= (2)である必要がある。もしそうなっていない場合、ジョブキュー作成コマンドjpqimportで以下のエラーになる。

VU5959-E The maximum number of queuing jobs is specified incorrectly. (line:24)
KAVU5970-E The definition process for configuration definition ended abnormally.

ジョブキュー作成

スタンドアローン構成
# jpqimport -dt isam -ci /etc/opt/jp1ajs2/conf/jpqsetup.conf \
  -dp /var/opt/jp1ajs2/database/queue
HA構成
# jpqimport -dt isam -ci /usr/jp1/<論理ホスト>/jp1ajs2/conf/jpqsetup.conf \
  -mh <論理ホスト> -dp /usr/jp1/<論理ホスト>/jp1ajs2/database/queue
Analyzing configuration definition file... 1/1
KAVU5800-I The definition process for configuration definition ended normally.

JP1/AJS2のデーモン起動

スタンドアローン構成
# /etc/opt/jp1ajs2/jajs_start
HA構成
# /etc/opt/jp1ajs2/jajs_start.cluster

設定値の確認

# jpqqueshow [-mh <論理ホスト>] [-ah <論理ホスト>]
KAVU0838-I デフォルトキュー情報(sccs009)の表示を開始します
QUEUE : a : sccs009
MAXQUEUE : 20
WARNQUEUE : 10
ENTRYSTATUS : OPEN
EXITSTATUS : OPEN
QUEUING : 1 ← キューイング中のジョブの数
EXECUTING : 20 ← 実行中のジョブの数
LINKAGENT : sccs009:1
KAVU0842-I キュー情報の表示処理が正常終了しました

# jpqqueshow -mh sccs009 -ad
KAVU0840-I デフォルトキューを含む全てのキュー情報の表示を開始します
T QUEUE   MAXQUEUE WARNQUEUE ENT  EXIT QUEUING EXECUTING
- ------- -------- --------- ---- ---- ------- ---------
a sccs009 20       10        OPEN OPEN 1       20
KAVU0842-I キュー情報の表示処理が正常終了しました

運用(ジョブキューの操作)

ジョブキューの定義情報変更

ジョブキューの定義情報は通常設定ファイルjpqsetup.confを編集して行うが、jpqagtaltコマンドでも変更できる。

(*) ただし、変更内容はジョブキューには反映されるが設定ファイルには反映されない。なぜなら、設定ファイルはJP1のデーモン起動時に読み込まれるのではなく「手動でキューを作る場合の」雛型ファイルだからである。

ここでは例として最大同時実行ジョブ数を3に変更する場合を示す。

この値を適用する時間帯として00:00〜00:00(終日)を指定する。

# jpqagtalt -ah sccs009 -cp 00:00-00:00=3
KAVU0850-I エージェント(sccs009)の定義情報を変更しました

ジョブキューの定義情報をjpqagtaltコマンドで参照すると変更内容が反映されているのが分かる。

# jpqagtshow -ah sccs009
KAVU0851-I エージェントホスト情報(sccs009)の表示を開始します
AGENT : sccs009
CUREXECHGNUM : 3
EXECUTING : 3
CHANGEPOINT : 00:00-00:00=(3) ←
KAVU0854-I エージェントホスト情報の表示処理が正常終了しました

また、ジョブキューの定義情報はファイルとしてexportすることもできる。

例としてジョブキューの定義情報をJobQueSetting.outというファイルに出力する場合を示す。

# jpqexport -dt isam -co JobQueSetting.out -mh sccs009
Outputting configuration definition file... 1/1
KAVU5801-I The output process for configuration definition ended normally.

# more JobQueSetting.out
:
$agent $a1 $system
  exec_jobs   0000 0000 3 ← jpqagtaltコマンドによる設定内容
  def_queue   $q1
  max_jobs    20
  warn_jobs   10
  queue_ent   open
  queue_exit  open
  connect     $a1 1
$end

ジョブキューの取出口操作

ジョブキューの取出口を塞ぐことによって、現在キューイング状態にあるジョブを実行状態にさせなくすることができる。

# jpqqueclose -ah sccs009 -ex
KAVU0836-I キュー(sccs009)のジョブ取出口をクローズしました

# jpqqueshow -ah sccs009
KAVU0838-I デフォルトキュー情報(sccs009)の表示を開始します
QUEUE : a : sccs009
MAXQUEUE : 4
WARNQUEUE : 3
ENTRYSTATUS : OPEN
EXITSTATUS : CLOSE ←
QUEUING : 2
EXECUTING : 0
LINKAGENT : sccs009:1
KAVU0842-I キュー情報の表示処理が正常終了しました

反対にジョブキューの取出口を開けることによって、キューイング状態にあるジョブを実行状態に移すことが可能になる(あくまで可能にするだけであって実行状態にするわけではない)。

ジョブキューの取出口はデフォルトでは開いている。

# jpqqueopen -ah sccs009 -ex
KAVU0835-I キュー(sccs009)のジョブ取出口をオープンしました

ジョブキューの受付口操作

ジョブキューの受付口を塞ぐことによって、最大同時実行ジョブ数を越えたジョブをキューイングできないようにすることができる。

# jpqqueclose -ah sccs009 -en
KAVU0836-I キュー(sccs009)のジョブ受付口をクローズしました

# jpqqueshow -ah sccs009
KAVU0838-I デフォルトキュー情報(sccs009)の表示を開始します
QUEUE : a : sccs009
MAXQUEUE : 4
WARNQUEUE : 3
ENTRYSTATUS : CLOSE ←
EXITSTATUS : OPEN
QUEUING : 0
EXECUTING : 1
LINKAGENT : sccs009:1
KAVU0842-I キュー情報の表示処理が正常終了しました

反対にジョブキューの受付口を開けることによって、最大同時実行ジョブ数を越えたジョブをキューイングできるようにすることができる。

ジョブキューの受付口はデフォルトでは開いている。

# jpqqueopen -ah sccs009 -en
KAVU0836-I キュー(sccs009)のジョブ受付口をオープンしました