マルチジョブコントローラのカスケードモードを使用する場合のバッチアプリケーションの設計について説明します。
入力ファイル数と出力ファイル数について
バッチアプリケーションのロジックについて
入力ファイル数と出力ファイル数について
ジョブの入力ファイルと出力ファイルの構成について、以下のとおり設計する必要があります。
カスケードジョブステップは複数のファイルからのデータ入力はできません。
カスケードジョブステップは複数のファイルへのデータ出力はできません。
1つのカスケードジョブステップが出力したデータを、複数のカスケードジョブステップおよびジョブステップで入力することはできません。
複数のカスケードジョブステップが出力したデータを、1つのカスケードジョブステップおよびジョブステップで入力することはできません。
バッチアプリケーションでのファイルアクセスについてイメージを以下に示します。
バッチアプリケーションのロジックについて
バッチアプリケーションのロジックについて、以下のとおり設計する必要があります。
すべてのカスケードジョブステップが同時に動作可能である必要があります。
入力データからレコード単位に処理を完結させるロジックとしてください。ソートなど、入力データをすべて読み込んでから、書き込むようなバッチアプリケーションのロジックでは、カスケードジョブのメリットを生かせません。
データの入出力は連続したジョブステップ間で行ってください。
名前付きパイプに入出力するバッチアプリケーションのイメージを以下に示します。
バッチアプリケーションでは、復帰するまでに必ずファイルをオープンしクローズするようにしてください。ファイルのオープンおよびクローズを行わなかった場合はジョブが終わらなくなる場合があります。ジョブが終わらなくなった場合は、“Interstage Job Workload Server 運用ガイド”の“ジョブが実行終了遅延した場合の対処”を参照して対処してください。
カスケードジョブステップ間のデータ入出力は名前付きパイプとなり、異常が発生した場合には名前付きパイプは削除されるため、アプリケーションのデバックのための情報として使用できません。そのため、アプリケーションのデバック性を考慮し、異常検出時はアプリケーションでデバッグ情報を標準出力に出力しておくことを推奨します。アプリケーションの標準出力はジョブログに出力されます。