15.4.1 キューレスジョブ環境でクラスを指定したジョブを実行するための設定
キューレスジョブ環境では,クラスを定義し,クラスごとに最大同時ジョブ実行数と最大待ちジョブ数を制限できます。クラスは複数定義できます。
クラス内での最大同時ジョブ実行数を超えて同時にジョブを実行しようとすると,実行できなかったジョブはキューレスエージェントのメモリーに蓄えられます。クラス内での最大待ちジョブ数を超えてジョブを同時に実行しようとすると,そのジョブの実行は失敗し,状態は「起動失敗」となります。
例えば,あるクラスでの最大同時ジョブ実行数が10であり,最大待ちジョブ数が5のとき,同時に15個のジョブが実行中の状態でさらにジョブを実行しようとすると,16個目以降のジョブの状態は「起動失敗」となります。
キューレスエージェント全体の最大同時実行ジョブ数を超える場合,クラスごとの最大同時ジョブ実行数の制限値以内であっても,そのジョブはキューレスエージェントのメモリーに蓄えられます。キューレスエージェント全体の最大待ちジョブ数を超える場合,クラスごとの最大待ちジョブ数の制限値以内であっても,そのジョブの状態は「起動失敗」になります。
クラスを指定してジョブを実行するためには,区切り文字「!」を使用して,ジョブの[実行エージェント]に次の形式で実行ホスト名とクラス名を指定します。
実行ホスト名!クラス名
- 補足事項
-
キューレスジョブでは,実行エージェントを使用しません。そのため,[実行エージェント]には実行ホスト名とクラス名を指定してください。
ジョブの実行ホスト名を省略して,区切り文字とクラス名だけを指定した場合は,自ホストに対するクラス名が仮定されます。
ジョブの実行ホスト名,クラス名を両方とも省略した場合は,ジョブが属するジョブネットの[実行エージェント]に指定された実行ホスト名が仮定されます。
ジョブネットの[実行エージェント]に,クラス名は指定できません。このようなジョブネットを実行しようとすると,ジョブネット中に含まれるジョブの状態は「起動失敗」になります。
存在しないクラスを指定してジョブを実行しようとすると,そのジョブの状態は「起動失敗」になります。
クラスを設定する手順を次に示します。
- 〈この項の構成〉
(1) 定義手順
クラスを定義してキューレスジョブを実行させたいキューレスエージェントホスト上で次に示す設定をしてください。
-
キューレスエージェントサービスを停止する。
次のコマンドを実行して,プロセスがすべて停止していることを確認します。
# /opt/jp1ajs2/bin/ajsqlstop # /opt/jp1ajs2/bin/ajsqlstatus
-
viなどのエディターで,「(2) 環境設定パラメーター一覧」の環境設定パラメーターを記述した設定ファイルを作成する。
-
ファイルを保存し,次のコマンドを実行する。
jbssetcnf 設定ファイル名
jbssetcnfコマンドのパスは,「/opt/jp1base/bin/jbssetcnf」です。
jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
手順1で停止したサービスを次のコマンドで再起動する。
# /opt/jp1ajs2/bin/ajsqlstart
設定した内容が反映されます。
(2) 環境設定パラメーター一覧
定義キー |
環境設定パラメーター |
定義内容 |
---|---|---|
[{JP1_DEFAULT|論理ホスト名}\JP1QLAGENT\AJSQL_CLASS\クラス名]※ |
"AJSQL_CJOBMAX"= |
クラス内での最大同時ジョブ実行数 |
"AJSQL_CJOBWAITMAX"= |
クラス内での最大待ちジョブ数 |
- 注※
-
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
環境設定パラメーターの定義内容の詳細については,次の個所を参照してください。
(3) 定義例
-
ジョブの[実行エージェント]の定義
agent1!class1
-
ジョブ実行先(agent1)でのクラスの定義
[JP1_DEFAULT\JP1QLAGENT\AJSQL_CLASS\class1] "AJSQL_CJOBMAX"=dword:200 "AJSQL_CJOBWAITMAX"=dword:100
この定義では,実行ホストagent1のクラスclass1上で同時に実行できるジョブ数は512個です。実行ホストagent1のクラスclass1上での最大待ちジョブ数は256個です。
512個を超えて同時にジョブを実行しようとした場合,256個まではエージェント上のメモリーに蓄えられます。さらにジョブを実行しようとした場合,以降のジョブは「起動失敗」状態になります。
(4) 注意事項
-
クラス名にマルチバイト文字は使用できません。
-
[実行エージェント]に指定できるクラス名の最大長は63バイトまでです。64バイト以上を指定した場合,64バイト以降の文字は切り捨てられます。