JP1/Automatic Job Management System 2 解説
実行登録時にマクロ変数と値(引き継ぎ情報)を指定できます。実行登録時に指定したマクロ変数を配下のユニットで使用していた場合,指定した引き継ぎ情報に置き換えられて実行されます。この機能を使用すると,一部のパラメーターが異なるジョブネットを複数作成する必要がありません。例えば,要求ごとに環境変数を指定したい場合,ジョブネットの複写(ajscopy),環境変数の変更(ajschange),実行登録(ajsentry)をスクリプト内で繰り返す処理は必要なく,実行登録時に値を指定するだけで実現できます。実行登録時にマクロ変数値を指定した場合の処理を次の図に示します。
図4-5 実行登録時にマクロ変数値を指定した場合の処理
実行登録時のマクロ変数値の指定は,JP1/AJS2 - Viewおよびajsentryコマンドで行います。指定方法については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 7.4 実行登録時のマクロ変数値の指定」およびマニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsentry」を参照してください。
- <この項の構成>
- (1) マクロ変数値の有効範囲
- (2) マクロ変数の確認方法
- (3) マクロ変数の置き換え失敗時の状態設定
- (4) クラスタシステム
- (5) 注意事項
(1) マクロ変数値の有効範囲
(a) 実行登録方法別のマクロ変数値
マクロ変数と引き継ぎ情報は,計画実行,確定実行,即時実行で指定できます。実行登録方法別のマクロ変数値の扱いを次の表に示します。
表4-2 実行登録方法別のマクロ変数値の扱い
実行登録方法(ajsentryコマンドのオプション) マクロ変数値の扱い 即時実行登録(-n) 指定したマクロ変数値が有効になります。 計画実行登録(-s) 指定したマクロ変数値が,すべてのスケジュールに対して有効になります。実行登録時に指定したマクロ変数値を変更したい場合は,実行登録解除し,マクロ変数値を変更したあと,再度実行登録してください。 確定実行登録 確定期間指定(-p) 指定したマクロ変数値が,指定した確定期間のすべての世代に対して有効になります。期間内の実行予定日(世代)ごとに指定するマクロ変数値を変えたい場合は,期間を分けて複数回実行登録してください。実行登録時に指定したマクロ変数値を変更したい場合は,変更する期間について実行登録解除し,マクロ変数値を変更したあと,再度実行登録してください。 未来世代数指定(-g) 指定したマクロ変数値が,指定したすべての未来世代に対して有効になります。実行登録時に指定したマクロ変数値を変更したい場合は,実行登録解除し,マクロ変数値を変更したあと,再度実行登録します。 追加(-d) 指定したマクロ変数値が,指定した日時に対して有効になります。実行登録時に指定したマクロ変数値を変更したい場合は,実行登録解除し,マクロ変数値を変更したあと,再度実行登録してください。 (b) 再実行時のマクロ変数値
実行登録時に指定したマクロ変数と引き継ぎ情報は,再実行時にもそのまま適用されます。
(c) 計画一時変更時のマクロ変数値
実行登録時に指定したマクロ変数,および引き継ぎ情報は,計画一時変更時にもそのまま適用されます。
(d) 同じ名称のマクロ変数がある場合
実行登録時に指定したマクロ変数と同じ名称のマクロ変数が先行ジョブに指定されている場合は,先行ジョブの引き継ぎ範囲内では先行ジョブの引き継ぎ情報が有効になります。また,起動条件に同じ名称のマクロ変数が指定されている場合は,起動条件の引き継ぎ情報が有効になります。
(e) 多重起動時のマクロ変数
実行登録時に指定したマクロ変数値はすべての世代で有効になります。多重起動するかどうかには依存しません。
(2) マクロ変数の確認方法
(a) 実行登録前
JP1/AJS2 - View,またはajsprintコマンドで-vオプションを指定すると,配下のユニットで使用しているマクロ変数の一覧を参照できます。詳細については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 13.3.39 [変数使用状況]ダイアログボックス」,およびマニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsprint」を参照してください。
ajsprintコマンドでの参照例を次の図に示します。
図4-6 配下のユニットで使用しているマクロ変数の参照例
(b) 実行登録後
JP1/AJS2 - Viewでは,実行登録時に指定したマクロ変数と引き継ぎ情報,ジョブ実行時に引き継いだマクロ変数名と引き継ぎ結果が参照できます。詳細については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 13.6.14 [引き継ぎ結果]ダイアログボックス」を参照してください。
また,ajsshowコマンドでは,-iオプションで2バイトフォーマット指示子%MVを指定すると,実行登録時に指定したマクロ変数名と引き継ぎ結果,ジョブ実行時に引き継いだマクロ変数名と引き継ぎ結果が参照できます。出力結果が複数ある場合は「,(カンマ)」で区切られて出力されます。出力世代が複数ある場合は改行されて出力されます。ajsshowコマンドの出力例を次に示します。
ajsshow -F AJSROOT2 -g 2 -i "%MV" /net "AJS2ENV:/jp1_data/Job_Report","AJS2COM:c:\temp\test.exe" "AJS2ENV:/jp1_data/Job_Report","AJS2COM:c:\temp\test.exe" ajsshow -F AJSROOT2 -i "%MV" /net2 "AJS2ENV:/jp1_data2/Job△Report","AJS2COM:c:\temp\test2.exe"ajsshowコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsshow」を参照してください。
ユニット種別および状態による引き継ぎ結果の参照可否を次の表に示します。
表4-3 引き継ぎ結果の参照可否
ユニット種別 状態 参照可否 ルートジョブネット 未登録 × 上記以外 ○※1 ネストジョブネット − × ジョブ※2 未登録 × 未計画 × 先行終了待ち × 保留中 × キューイング × 実行待ち × 実行中 × 正常終了 ○ 正常終了-偽 ○ 警告検出終了 ○ 異常検出終了 ○ 起動失敗 ○ 終了状態不明 ○ 強制終了 ○ 未実行終了 × 計画未実行 × 監視中断 ○ 閉塞 ×
- (凡例)
- ○:参照できる。
- ×:参照できない。
- 注※1
- リモートジョブネットは対象外
- 注※2
- ・リモートジョブネット配下のジョブは対象外
- ・サスペンド中に削除されたジョブは対象外
- ・サスペンド中に追加されたジョブは対象外,サスペンド解除後は対象
- ・ジョブ状態を変更したジョブは,変更後の状態に依存
ジョブについての引き継ぎ結果は,その時点での引き継ぎ情報を基にして表示されます。引き継ぎ結果を参照することによって,対象ジョブを再実行したときに引き継がれる情報を事前に確認できます。
- 補足事項
- 次に示す場合は,前回実行時に引き継がれた結果と異なる結果が表示されます。
- 引き継ぎ元の先行ジョブが再実行中の場合
その先行ジョブから引き継ぐ情報は表示されません。
- 引き継ぎ元の先行ジョブを再実行し,実行が終了した場合
その先行ジョブの再実行後の引き継ぎ情報が表示されます。
- サスペンド中に引き継ぎ元の先行ジョブを削除した場合
その先行ジョブから引き継がれていた情報は表示されません。
(3) マクロ変数の置き換え失敗時の状態設定
環境設定パラメーターMACROCHANGEFAILで,マクロ変数の展開に失敗した場合にジョブの状態を異常検出終了(起動失敗)にするかどうかを設定できます。
設定方法については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 7.21 マクロ変数の展開失敗時の動作の設定」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 16.19 マクロ変数の展開失敗時の動作の設定」(UNIXの場合)を参照してください。
(4) クラスタシステム
実行登録時のマクロ変数値の指定は,JP1/AJS2でサポートしている全クラスタソフトで使用できます。
フェールオーバー時の動作について次に説明します。
(a) サービス起動モードでコールドスタートを指定している場合
フェールオーバー直前のジョブネットおよびジョブの定義情報だけを引き継ぎ,ジョブネットはすべて未登録状態に変更されるため,実行登録時に指定したマクロ変数と値は解除されます。
(b) サービス起動モードでウォームスタートを指定している場合
ジョブネットの状態は,中断になります。開始されていなかったジョブネットは予定どおり運用され,実行登録時に指定したマクロ変数と値が適用されます。ウォームスタートによって異常終了したジョブネットは,状態の変更を確認したあと,手動で再実行してください。再実行した場合,実行登録時に指定したマクロ変数と値が適用されます。
(c) サービス起動モードで自動継続を指定している場合
フェールオーバー直前の状態を引き継ぎ動作します。ジョブの実際の状態が取得できた場合は,ジョブネットの定義内容に従って自動的に継続実行し,実行登録時に指定したマクロ変数と値が適用されます。ジョブ実行先サーバから情報を求められなかった場合は,ジョブの状態は異常終了になります。この場合は,ジョブの状態を確認し,手動で再実行してください。再実行した場合,実行登録時に指定したマクロ変数と値が適用されます。
(5) 注意事項
実行登録時にマクロ変数値を指定する場合の注意を次に示します。
- 実行登録時にマクロ変数値を指定すると,ルートジョブネット単位,または世代単位にマクロ変数と値の情報をファイルに保持します。登録解除時に,作成したファイルの削除を行うため,マクロ変数値を指定しない場合に比べて,性能に影響があります。登録解除操作のターンアラウンドタイム短縮を図るため,スケジューラーサービスの登録解除処理の設定を非同期型(環境設定パラメーターBACKGROUNDLEAVEをyes)にしてください。環境設定パラメーターの設定方法については,マニュアル「JP1/Automatic Job Management System 2 設計・運用ガイド 8.1.2 保存世代数に関する注意事項」を参照してください。
- リモートジョブネットがルートジョブネットの場合は,実行登録時にマクロ変数値を指定できません。また,リモートジョブネットがネストジョブネットの場合は,その配下に,実行登録時にマクロ変数値を指定できません。
Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.