21.1.2 実行エージェントプロファイルの詳細
実行エージェントプロファイルでは,実行エージェント制限に関する設定をします。スケジューラーサービス単位でファイルを作成し,ユニット単位にジョブの実行先として許可する実行エージェントを設定します。
実行エージェント制限の詳細については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(システム構築編) 2.5.1(6) 実行エージェント制限について」を参照してください。
実行エージェントプロファイルを作成する手順については,「21.1.1 実行エージェント制限の設定手順」を参照してください。
(1) 記述形式
実行エージェントプロファイルは,スケジューラーサービス単位で作成します。
実行エージェントプロファイルの記述形式を次に示します。
@SYS_RESTRICT_START unit_path=ユニット完全名 View=ユニット定義時の制限確認 ViewCheckLevel=ユニット定義時の動作 JobExec=ジョブ実行時の制限確認 @SYS_AGENTLIST_START 定義または実行を許可する実行先 : : @SYS_AGENTLIST_END @SYS_RESTRICT_END
(2) 記述項目
記述項目について説明します。各項目を改行文字で区切ってください。
(a) @SYS_RESTRICT_START
「@SYS_RESTRICT_START」固定です。実行エージェント制限の設定の開始を示します。
対応する「@SYS_RESTRICT_END」までの内容が,一つのユニットの設定です。複数のユニットを設定する場合は,「@SYS_RESTRICT_START」から「@SYS_RESTRICT_END」までを繰り返し記述します。ユニットの数は128個まで設定できます。
この設定は必須です。
- 注意事項
-
実行エージェントプロファイルに大量の設定をしている場合,実行エージェントプロファイルで使用するメモリーが足りなくなるおそれがあります。実行エージェントプロファイルで使用するメモリーのサイズは,環境設定パラメーターAGENTPROFMEMSIZEに設定します。次の見積もり式に従って計算し,小数点を切り上げた値を16進数で設定します。ただし,計算した値が512より小さい場合は,「dword:00000200」(10進数で512)を設定します。
実行エージェントプロファイルで使用するメモリーのサイズ(単位:キロバイト)= (a + 256) / 1,024
- a:
-
設定されているすべてのユニット(一組の@SYS_RESRTICT_START〜@SYS_RESTRICT_END)に対して次の計算をし,その合計値
b + 1,280
- b:
-
設定されているすべての実行先(一組の@SYS_AGENTLIST_START〜@SYS_AGENTLIST_END)に対して次の計算をし,その合計値
定義または実行を許可する実行先の長さ + 128
例えば,実行エージェントプロファイルに次のように設定しているとします。
@SYS_RESTRICT_START unit_path=/net1 View=on ViewCheckLevel=warning JobExec=on @SYS_AGENTLIST_START @SYSTEM AGT01 @SYS_AGENTLIST_END @SYS_RESTRICT_END @SYS_RESTRICT_START unit_path=/net2 View=on ViewCheckLevel=warning JobExec=on @SYS_AGENTLIST_START AGT02 AGT03 @SYS_AGENTLIST_END @SYS_RESTRICT_END
ユニット/net1には,実行先として「@SYSTEM」と「AGT01」を指定しています。そのため,bの値は次のように算出します。
(7 + 128) + (5 + 128) = 268
ユニット/net2には,実行先として「AGT02」と「AGT03」を指定しています。そのため,bの値は次のように算出します。
(5 + 128) + (5 + 128) = 266
aの値は,次のように算出します。
(268 + 1,280) + (266 + 1,280) = 3,094
実行エージェントプロファイルで使用するメモリーのサイズ(単位:キロバイト)は,次のように算出します。
(3,094 + 256) / 1,024 = 約3.27
上記の計算式で算出した値が512より小さいため,環境設定パラメーターAGENTPROFMEMSIZEには,「512」を設定します。
環境設定パラメーターAGENTPROFMEMSIZEの詳細については,「20.4.2(100) AGENTPROFMEMSIZE」を参照してください。
(b) unit_path=ユニット完全名
設定するユニットの完全名を,930バイト以内の文字列で記述します。「unit_path=」の部分は固定です。この設定は,「@SYS_RESTRICT_START」の次に設定します。
設定できるユニットは,次のどれかです。
-
スケジューラーサービス配下のすべてのユニット(「/」(スラント)を設定)
-
ジョブグループ
-
ルートジョブネット
-
ネストジョブネット
-
UNIXジョブ
-
PCジョブ
-
イベントジョブ
-
アクションジョブ
-
カスタムジョブ
-
フレキシブルジョブ※
-
HTTP接続ジョブ
- 注※
-
フレキシブルジョブの場合,実行エージェントではなく中継エージェントが該当します。
この設定は必須です。
(c) View=ユニット定義時の制限確認
JP1/AJS3 - Viewの詳細定義ダイアログボックスでユニットを定義するときに,実行エージェントの選択表示や,指定した実行エージェントに対する制限確認をするかどうかを,次のどちらかから設定します。
-
on
実行エージェントの選択表示および制限確認をします。
-
off
実行エージェントの選択表示および制限確認をしません。
「View=」の部分は固定です。この設定は,「unit_path=ユニット完全名」の行から「@SYS_AGENTLIST_START」の行の間に設定します。
この設定は省略できます。省略した場合,「on」が仮定されます。
(d) ViewCheckLevel=ユニット定義時の動作
JP1/AJS3 - Viewの詳細定義ダイアログボックスでユニットを定義するときに制限確認をした結果,許可しない実行先が指定されていた場合の動作を次のどちらかから設定します。
-
error
許可しない実行先を指定したまま,[OK]ボタンをクリックしてダイアログボックスを閉じることはできません。
-
warning
許可しない実行先を指定している場合,メッセージKAVV1501-Qが出力されます。メッセージへの応答結果によっては,許可しない実行先を指定したままJP1/AJS3 - Managerにユニット定義が登録されます。
「ViewCheckLevel=」の部分は固定です。この設定は,「unit_path=ユニット完全名」の行から「@SYS_AGENTLIST_START」の行の間に設定します。この設定は,「View=ユニット定義時の制限確認」に「on」を設定している場合だけ有効です。
この設定は省略できます。省略した場合,「error」が仮定されます。
(e) JobExec=ジョブ実行時の制限確認
ジョブ実行時に実行エージェントの制限確認をするかどうかを,次のどちらかから設定します。
-
on
制限確認をします。
-
off
制限確認をしません。
「JobExec=」の部分は固定です。この設定は,「unit_path=ユニット完全名」の行から「@SYS_AGENTLIST_START」の行の間に設定します。
この設定は省略できます。省略した場合,「on」が仮定されます。
(f) @SYS_AGENTLIST_START
「@SYS_AGENTLIST_START」固定です。定義または実行を許可する,実行先の記述の開始を示します。対応する「@SYS_AGENTLIST_END」までの内容が,定義または実行を許可する実行先です。
この設定は必須です。
(g) 定義または実行を許可する実行先
定義または実行を許可する実行エージェント,実行エージェントグループ,または実行ホスト名を,1行ごとに設定します。実行先に設定できる文字列は255バイトまでです。「@SYS_AGENTLIST_START」から「@SYS_AGENTLIST_END」の間の行に設定できる実行先は2,048個までです。
なお,設定した値の,大文字・小文字は区別されません。
実行先に256バイト以上,または「@SYS_AGENTLIST_START」から「@SYS_AGENTLIST_END」の間に2,049個以上を設定した場合,実行エージェントプロファイルの構文エラーとなり,設定は反映されません。
また,許可する実行先が「#」や「\」で始まる場合,次のように指定します。
-
「#」で始まる場合
「\」でエスケープして指定します。2文字目以降の「#」はエスケープ不要です。
-
「\」で始まる場合
「\」でエスケープして指定します。2文字目以降の「\」はエスケープ不要です。
許可する実行先の先頭が「\」で,次の文字が「#」と「\」以外の場合は,実行エージェントプロファイルの構文エラーになります。
次に具体例を示します。
項番 |
許可したい実行先 |
実行エージェントプロファイルへの指定方法 |
備考 |
---|---|---|---|
1 |
AGT1 |
AGT1 |
− |
2 |
#AGT1 |
\#AGT1 |
− |
#AGT1 |
コメント行になります。 |
||
3 |
\AGT1 |
\\AGT1 |
− |
\AGT1 |
実行エージェントプロファイルの構文エラーになります。 |
||
4 |
##AGT1 |
\##AGT1 |
先頭の文字だけエスケープします。2文字目以降のエスケープは不要です。 |
5 |
\\AGT1 |
\\\AGT1 |
|
6 |
\#AGT1 |
\\#AGT1 |
|
7 |
#\AGT1 |
\#\AGT1 |
|
8 |
AGT#1 |
AGT#1 |
2文字目以降のエスケープは不要です。 |
9 |
AGT\1 |
AGT\1 |
- (凡例)
-
−:特になし
- 自ホストでの実行を許可する場合
-
「@SYSTEM」を設定します。ただし,自ホスト名と同じ名前の実行エージェントを許可したいときは,その実行エージェント名を設定します。
キューレスジョブで自ホストでの実行を許可したいときは,自ホスト名を設定します。ここでいう自ホスト名とは,次の方法で確認できる名前です。
-
物理ホストの場合
hostnameコマンドを実行して得られるホスト名
-
論理ホストの場合(Windows)
JP1/AJS3を運用しているホスト上で[コントロールパネル]ウィンドウから[サービス]を選択するか,または[管理ツール]−[サービス]を選択し,[サービス]ウィンドウに表示される「JP1/AJS3_xxxxx」の「xxxxx」の部分に表示されるホスト名
-
論理ホストの場合(UNIX)
psコマンドを実行し,jajs_spmdプロセスの後ろに表示されるホスト名
-
- ユニットの実行エージェントに実行エージェントグループを指定する場合
-
ユニットの実行エージェントに実行エージェントグループを指定する場合,実行エージェントグループ名を設定します。
- ユニットの実行エージェントにマクロ変数名を指定する場合
-
ユニットの実行エージェントにマクロ変数名を指定する場合,「View=ユニット定義時の制限確認」と「JobExec=ジョブ実行時の制限確認」の設定値に従って,この項目には実行エージェント名またはマクロ変数名を設定します。この項目で設定する内容を次の表に示します。
表21‒2 マクロ変数を指定する場合 項番
「View=ユニット定義時の制限確認」の設定
「JobExec=ジョブ実行時の制限確認」の設定
「定義または実行を許可する実行先」に必要な設定
1
off
on
実行エージェント名
2
on
off
マクロ変数名
3
on
on
-
マクロ変数名
-
実行エージェント名
-
- キューレスジョブの場合
-
キューレスジョブに対して実行エージェント制限を使用する場合,キューレスジョブの実行先となるホスト名を設定します。
なお,詳細定義の[実行エージェント]に,クラス名を含めて実行先ホストを指定している場合,「!クラス名」の部分を実行エージェントプロファイルに設定する必要はありません。
また,アタッチされていない論理ホストをキューレスジョブの実行先として指定している場合,次の条件を満たしていれば,論理ホストに対応する物理ホスト上でキューレスジョブが実行されます。
-
キューレスジョブに指定している論理ホストが実行エージェントプロファイルに設定されている
-
環境設定パラメーターAJSQL_NOATTACHREQに「exec」が設定されている
このとき,物理ホストが実行エージェントプロファイルに設定されているかどうかは関係ありません。実行エージェントプロファイルに物理ホストを定義していなくても,物理ホスト上でキューレスジョブが実行されます。
-
(h) @SYS_AGENTLIST_END
「@SYS_AGENTLIST_END」固定です。定義または実行を許可する実行先の記述の終了を示します。
この設定は必須です。
(i) @SYS_RESTRICT_END
「@SYS_RESTRICT_END」固定です。実行エージェント制限の設定の終了を示します。
この設定は必須です。
(3) 記述例
実行エージェントプロファイルの記述例を次に示します。
(a) スケジューラーサービス配下すべてのユニットに対して設定する場合
次の表のように,スケジューラーサービス配下すべてのユニットに対して実行エージェントを許可するとします。
対象ユニット |
ユニット定義時の制限確認 |
ジョブ実行時の制限確認 |
許可する実行先 |
---|---|---|---|
スケジューラーサービス配下のすべてのユニット |
制限確認する |
制限確認しない |
@SYSTEM,AGT01 |
実行エージェントプロファイルは,次のように記述します。
@SYS_RESTRICT_START unit_path=/ View=on JobExec=off @SYS_AGENTLIST_START @SYSTEM AGT01 @SYS_AGENTLIST_END @SYS_RESTRICT_END
(b) 複数のユニットパスに対して設定する場合
次の表のように,複数のユニットパスに対して実行エージェントを許可するとします。
対象ユニット |
ユニット定義時の制限確認 |
ジョブ実行時の制限確認 |
許可する実行先 |
---|---|---|---|
ジョブグループ/Grp1配下のユニット |
制限確認する |
制限確認しない |
AGT01,AGT02 |
ジョブネット/net1およびその配下のユニット |
制限確認する |
制限確認する |
AGT03 |
実行エージェントプロファイルは,次のように記述します。
@SYS_RESTRICT_START unit_path=/Grp1 View=on JobExec=off @SYS_AGENTLIST_START AGT01 AGT02 @SYS_AGENTLIST_END @SYS_RESTRICT_END @SYS_RESTRICT_START unit_path=/net1 View=on ViewCheckLevel=warning JobExec=on @SYS_AGENTLIST_START AGT03 @SYS_AGENTLIST_END @SYS_RESTRICT_END