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