15.1.6 登録解除や保存世代数管理による世代削除処理方式の変更
ルートジョブネットおよびルートリモートジョブネットの保存世代数の設定には,1〜99(保存世代数の拡張機能を使用した場合は1〜999)を指定できます。この保存世代数に関して,次に示す条件のジョブネットに対して登録解除の操作をすると,登録が解除されるのに長い時間が掛かってしまいます。
-
保存世代数に30以上を指定しているジョブネット
-
保存世代数が10以上で,かつ起動条件を使用しているジョブネット(環境設定パラメーターSAVEGENTYPEに「LEGACY」を設定している場合)
そのため,ほかのジョブネットの起動条件監視が,「監視打ち切り終了」状態になったり,ジョブネットが正しく実行されなくなったりする場合があります。
この現象は,スケジューラーサービスの登録解除処理の設定が,「同期型」に設定されているのが原因です。登録解除処理の設定が「同期型」だと,登録解除対象の世代数が大量であればあるほど登録解除に多大な時間を必要とします。その登録解除に掛かる多大な時間が,ほかのジョブネットの実行動作に影響を与えてしまいます。
この現象を回避するには,登録解除処理の設定を「非同期型」にすることで対処してください。非同期型に変更する場合,設定変更前に実行していたジョブネットの登録情報を必要とする場合と必要としない場合とで手順が異なります。
また,JP1/AJS3の新規インストール時および新規セットアップ時には,環境設定パラメーターBACKGROUNDLEAVEに「非同期型(yes)」が設定されるため,変更は不要です。ただし,JP1/AJS3をバージョンアップインストールした場合には,「同期型(no)」が設定されていることがあります。
環境設定パラメーターBACKGROUNDLEAVEに「同期型」が設定されている,またはBACKGROUNDLEAVEが設定されていない場合は,登録解除に掛かる時間を考慮し,登録解除処理の設定を「非同期型」に変更することを推奨します。設定を「同期型」に変更する場合は,設定変更前に実行していたジョブネットの登録情報が削除されるため注意してください。
登録解除処理の設定を変更する場合,設定変更が必要なスケジューラーサービスを停止する必要があります。
スケジューラーサービスの登録解除処理の設定を変更する手順を次に示します。
(1) 登録解除処理の設定を「同期型」から「非同期型」にする手順
環境設定パラメーターBACKGROUNDLEAVEの設定値がすでに「非同期型(yes)」に設定されている場合は,ここに示す操作の必要はありません。
(a) 実行していたジョブネットの登録情報を必要としない場合
実行していたジョブネットの登録情報を必要としない場合の手順を次に示します。
-
スケジューラーサービスを停止する。
スーパーユーザー権限を持つユーザーで次のコマンドを実行し,プロセスがすべて停止していることを確認します。
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F スケジューラーサービス名 # /opt/jp1ajs2/bin/jajs_spmd_status
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F AJSROOT1 # /opt/jp1ajs2/bin/jajs_spmd_status
-
次のコマンドを実行する。
jajs_config -k "[{JP1_DEFAULT|論理ホスト名}\JP1AJSMANAGER\スケジューラーサービス名]" "BACKGROUNDLEAVE"="yes"
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
(例)物理ホスト(JP1_DEFAULT)のスケジューラーサービス名が「AJSROOT1」の場合
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "BACKGROUNDLEAVE"="yes"
-
スケジューラーサービスをコールドスタートする。
スーパーユーザー権限を持つユーザーで,次に示すコマンドを実行します。
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F スケジューラーサービス名 -cold
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F AJSROOT1 -cold
(b) 実行していたジョブネットの登録情報を必要とする場合
実行登録情報が必要な場合は,次に示す手順に従って移行作業を実施してください。
-
スケジューラーサービスを停止する。
スーパーユーザー権限を持つユーザーで次のコマンドを実行し,プロセスがすべて停止していることを確認します。
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F スケジューラーサービス名 # /opt/jp1ajs2/bin/jajs_spmd_status
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F AJSROOT1 # /opt/jp1ajs2/bin/jajs_spmd_status
-
次のコマンドを実行する。
jajs_config -k "[{JP1_DEFAULT|論理ホスト名}\JP1AJSMANAGER\スケジューラーサービス名]" "BACKGROUNDLEAVE"="yes"
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
(例)物理ホスト(JP1_DEFAULT)のスケジューラーサービス名が「AJSROOT1」の場合
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "BACKGROUNDLEAVE"="yes"
-
実行登録情報を非同期型に変換する。
次に示すコマンドを実行します。
/opt/jp1ajs2/tools/ajsregcnv -F スケジューラーサービス名
(例)スケジューラーサービス名が「AJSROOT1」の場合
/opt/jp1ajs2/tools/ajsregcnv -F AJSROOT1
-
スケジューラーサービスを起動する。
スーパーユーザー権限を持つユーザーで,次に示すコマンドを実行します。
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F スケジューラーサービス名
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F AJSROOT1
(2) 登録解除処理の設定を「非同期型」から「同期型」にする手順
登録解除処理の設定を「非同期型」から「同期型」に変更する場合の手順を次に示します。
-
スケジューラーサービスを停止する。
スーパーユーザー権限を持つユーザーで次のコマンドを実行し,プロセスがすべて停止していることを確認します。
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F スケジューラーサービス名 # /opt/jp1ajs2/bin/jajs_spmd_status
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd_stop -n jajs_schd -F AJSROOT1 # /opt/jp1ajs2/bin/jajs_spmd_status
-
次のコマンドを実行する。
jajs_config -k "[{JP1_DEFAULT|論理ホスト名}\JP1AJSMANAGER\スケジューラーサービス名]" "BACKGROUNDLEAVE"="no"
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
(例)物理ホスト(JP1_DEFAULT)のスケジューラーサービス名が「AJSROOT1」の場合
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "BACKGROUNDLEAVE"="no"
-
スケジューラーサービスをコールドスタートする。
スーパーユーザー権限を持つユーザーで,次に示すコマンドを実行します。
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F スケジューラーサービス名 -cold
(例)スケジューラーサービス名が「AJSROOT1」の場合
# /opt/jp1ajs2/bin/jajs_spmd -n jajs_schd -F AJSROOT1 -cold