6.2.26 ジョブが出力したデータが結果ファイルに出力されないことを防止するための設定
JP1/AJS3では,ジョブの詳細定義で指定した実行ファイルおよび実行ファイルの延長で起動されたプログラム(ユーザージョブ)が出力した標準出力・標準エラー出力を随時読み込んで,ジョブの結果ファイル(標準出力ファイル・標準エラー出力ファイル)に書き込んでいます。ジョブ※の終了時には,結果ファイルはエージェントホストからマネージャーホストに転送されます。
- 注※
-
PCジョブ,アクションジョブ,フレキシブルジョブ,HTTP接続ジョブ,カスタムジョブ,JP1/AJS3で実行するQUEUEジョブ,サブミットジョブ,および引き継ぎ情報設定ジョブが該当します。イベントジョブおよびキューレスジョブは該当しません。
しかし,Windowsの場合に,ジョブの結果ファイルの書き込み時にJP1/AJS3が使用するメモリーがスワップアウトされるなどして処理の再開に時間が掛かったり,ディスクへのアクセスに時間が掛かったりすると,ジョブが出力したデータが結果ファイルに出力されないおそれがあります。
ジョブが出力したデータが結果ファイルに出力されないと,次のような現象が発生するおそれがあります。
-
引き継ぎ情報設定ジョブの出力マクロ変数に値が設定されなくなり,引き継ぎ情報設定ジョブが異常終了する。
-
JP1/AJS3 - Viewの[実行結果詳細]ダイアログボックスの内容が参照できなくなる。
-
jpqjobgetコマンドで標準出力ファイルおよび標準エラー出力ファイルの情報が取得できなくなる。
このような現象を防止するためには,環境設定パラメーターPreventResultFileLackを設定して,ジョブが出力したデータが結果ファイルに出力されないことを防止してください。
引き継ぎ情報設定ジョブを使用する場合は,この設定を有効にしてください。引き継ぎ情報設定ジョブの詳細については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.4.9 動的に変わる情報を後続ユニットに引き継ぐ(引き継ぎ情報設定ジョブを使ったジョブネットの定義例)」を参照してください。
なお,この設定はジョブの実行先ホスト上で設定してください。
- 〈この項の構成〉
(1) 定義手順
-
Windowsの[コントロールパネル]の[管理ツール]で[サービス]を選択し,次に示すサービスを停止する。
-
JP1/AJS3サービス
- 注意事項
-
クラスタシステムの場合は,クラスタの設定を確認し,論理ホストのJP1/AJS3サービスも停止してください。
-
-
次のコマンドを実行して,「(2) 環境設定パラメーター一覧」の環境設定パラメーターを設定する。
jajs_config -k 定義キー名 "環境設定パラメーター名"=定義内容
-
JP1/AJS3を再起動する。
設定した内容が反映されます。
(2) 環境設定パラメーター一覧
定義キー |
環境設定パラメーター |
定義内容 |
---|---|---|
[{JP1_DEFAULT|論理ホスト名}\JP1NBQAGENT\Job]※ |
"PreventResultFileLack"= |
ジョブが出力したデータが結果ファイルに出力されないことを防止するための設定 |
- 注※
-
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。
環境設定パラメーターの定義内容の詳細については,「20.5.2(91) PreventResultFileLack」を参照してください。
(3) 注意事項
環境設定パラメーターPreventResultFileLackに「1」を設定した場合,次に示す注意事項があります。
-
ジョブの標準出力・標準エラー出力は,JP1/AJS3ではなく,ユーザージョブが結果ファイルに書き込みます。そのため,結果ファイルの書き込み時にエラーが発生した場合,JP1/AJS3でエラーを検知できません。ユーザージョブでエラー要因を確認してください。
-
ジョブの詳細定義で指定した実行ファイルが終了するまでに,実行ファイルの延長で起動されたプログラムが終了していないと,エージェントホストのジョブ実行環境のワークディレクトリに「A_JPQ*_ジョブ番号」という名前の一時ファイルが残ることがあります。この一時ファイルは,JP1/AJS3を停止してもワークディレクトリに残る場合は,削除しても問題ありません。
一時ファイルが残ることが運用上問題となる場合は,ジョブの詳細定義で,標準出力ファイル名,および標準エラー出力ファイル名に「NUL」を指定するか,標準入力ファイル名,標準出力ファイル名,および標準エラー出力ファイル名のすべてに「CON」を指定してください。ただしこの場合,JP1/AJS3 - Viewでジョブの実行結果詳細を表示したときに,ジョブの標準エラー出力が出力されなくなります。また,jpqjobgetコマンドを実行しても,標準出力ファイルおよび標準エラー出力ファイルの情報が取得できなくなります。
-
ジョブの結果ファイルは,ジョブの詳細定義で指定した実行ファイルが終了した時点でマネージャーホストに転送されます。そのため,ジョブの詳細定義で指定した実行ファイルの終了後,実行ファイルの延長で起動されたプログラムが出力した標準出力・標準エラー出力は,結果ファイルには書き込まれますが,マネージャーホストには転送されません。