キューレスジョブ環境では,クラスを定義し,クラスごとに最大同時ジョブ実行数と最大待ちジョブ数を制限できます。クラスは複数定義できます。
クラス内での最大同時ジョブ実行数を超えて同時にジョブを実行しようとすると,実行できなかったジョブはキューレスエージェントのメモリーに蓄えられます。クラス内での最大待ちジョブ数を超えてジョブを同時に実行しようとすると,そのジョブの実行は失敗し,状態は「起動失敗」となります。
例えば,あるクラスでの最大同時ジョブ実行数が10であり,最大待ちジョブ数が5のとき,同時に15個のジョブが実行中の状態でさらにジョブを実行しようとすると,16個目以降のジョブの状態は「起動失敗」となります。
キューレスエージェント全体の最大同時実行ジョブ数を超える場合,クラスごとの最大同時ジョブ実行数の制限値以内であっても,そのジョブはキューレスエージェントのメモリーに蓄えられます。キューレスエージェント全体の最大待ちジョブ数を超える場合,クラスごとの最大待ちジョブ数の制限値以内であっても,そのジョブの状態は「起動失敗」になります。
クラスを指定してジョブを実行するためには,区切り文字「!」を使用して,ジョブの[実行エージェント]に次の形式で実行ホスト名とクラス名を指定します。
実行ホスト名!クラス名
ジョブの実行ホスト名を省略して,区切り文字とクラス名だけを指定した場合は,自ホストに対するクラス名が仮定されます。
ジョブの実行ホスト名,クラス名を両方とも省略した場合は,ジョブが属するジョブネットの[実行エージェント]に指定された実行ホスト名が仮定されます。
ジョブネットの[実行エージェント]に,クラス名は指定できません。このようなジョブネットを実行しようとすると,ジョブネット中に含まれるジョブの状態は「起動失敗」になります。
存在しないクラスを指定してジョブを実行しようとすると,そのジョブの状態は「起動失敗」になります。
クラスを設定する手順を次に示します。
(1) 定義手順
クラスを定義してキューレスジョブを実行させたいキューレスエージェントホスト上で次に示す設定をしてください。
# /opt/jp1ajs2/bin/ajsqlstop
# /opt/jp1ajs2/bin/ajsqlstatus
jbssetcnf 設定ファイル名
# /opt/jp1ajs2/bin/ajsqlstart
(2) 環境設定パラメーター一覧
表15-53 キューレスジョブ環境でクラスを指定したジョブを実行する設定の環境設定パラメーター
定義キー | 環境設定パラメーター | 定義内容 |
---|---|---|
[{JP1_DEFAULT|論理ホスト名}¥JP1QLAGENT¥AJSQL_CLASS¥クラス名]※ | "AJSQL_CJOBMAX"= | クラス内での最大同時ジョブ実行数 |
"AJSQL_CJOBWAITMAX"= | クラス内での最大待ちジョブ数 |
環境設定パラメーターの定義内容の詳細については,次の個所を参照してください。
(3) 定義例
agent1!class1
[JP1_DEFAULT¥JP1QLAGENT¥AJSQL_CLASS¥class1]
"AJSQL_CJOBMAX"=dword:200
"AJSQL_CJOBWAITMAX"=dword:100
この定義では,実行ホストagent1のクラスclass1上で同時に実行できるジョブ数は512個です。実行ホストagent1のクラスclass1上での最大待ちジョブ数は256個です。
512個を超えて同時にジョブを実行しようとした場合,256個まではエージェント上のメモリーに蓄えられます。さらにジョブを実行しようとした場合,以降のジョブは「起動失敗」状態になります。
(4) 注意事項