JP1/AJS2 資料一覧
並列に実行される可能性のあるジョブを順番に実行する方法
2005/2/8更新
対応バージョン: 6
想定環境
以下のようなジョブネットがあるとする。
+---------+ +-->| ジョブ2 +---+ | +---------+ | +---------+ | | +---------+ | ジョブ1 +--+ +-->| ジョブ4 | +---------+ | | +---------+ | +---------+ | +-->| ジョブ3 +---+ +---------+
この場合、通常はジョブ2と3がほぼ同時に起動して並列実行されるが、そうではなくジョブ2と3はどちらが先にスタートしてもいいがどちらか一方のジョブが実行中はもう片方のジョブがそのジョブの終了を待つようにしたい。
実行のパターンとしては以下の2パターンが考えられる。
ジョブ1 > ジョブ2 > ジョブ3 > ジョブ4
ジョブ1 > ジョブ3 > ジョブ2 > ジョブ4
実現方法
ジョブ2、3用に専用のジョブキューを割り当ててそのジョブキューの同時ジョブ実行数を1にする。
具体的な設定例は以下の通り。
/etc/hosts
10.197.10.31 scs2001 ← (1) 10.197.10.118 sccs018 sccs018_2 ← (2)
(1) 物理ホスト
(2) sccs018 : ジョブ1,4用JP1サービス(scs2001のエイリアス)
sccs018_2 : ジョブ2,3用JP1サービス
/usr/jp1/sccs018/jp1ajs2/conf/jpqsetup.conf
: $agent $a1 $system exec_jobs 0000 0000 1024 def_queue $q1 max_jobs 100 warn_jobs 80 queue_ent open queue_exit open connect $a1 1 $end $agent $a2 sccs018_2 exec_jobs 0000 0000 1 ← 同時ジョブ実行数 = 1 def_queue $q2 max_jobs 100 warn_jobs 80 queue_ent open queue_exit open connect $a2 1 $end :
キュー再作成
関連資料・記事