Interstage Job Workload Server バッチ開発ガイド |
目次
![]() ![]() |
第2章 ジョブの設計に必要な知識 | > 2.5 バッチアプリケーション | > 2.5.3 C言語アプリケーション |
バッチアプリケーション内で、子プロセスの生成、監視などのプロセスに関する操作を行わないでください。
プロセスの操作を行った場合、ジョブの動作は保証しません。
バッチアプリケーション内で、スレッドの生成、監視などのスレッドに関する操作を行わないでください。
スレッドに関する操作を行った場合、ジョブの動作は保証しません。
バッチアプリケーションで、atexit関数を使用しないでください。使用方法を誤るとワークユニットの停止処理がハングアップする可能性があります。
バッチアプリケーションで、iconv関数を使用して独自に文字コード変換を行うことはできません。
バッチアプリケーションからシグナルに関する処理を行わないでください。
シグナルに関する操作を行った場合、ジョブの動作は保証しません。
バッチアプリケーションからprintf関数などを使用して標準出力(stdout)/標準エラー出力(stderr)に大量データを出力しないでください。標準出力/標準エラー出力へ出力できるデータの量は、以下に示す上限があるため、上限を超えて出力した分のデータは、切り捨てられます。
標準出力/標準エラー出力 あわせて1ジョブあたり2メガバイト |
ただし、標準出力/標準エラー出力には、バッチ実行基盤からジョブの実行に関するデータを出力するため、実際にバッチアプリケーションから標準出力/標準エラー出力に出力できるデータ量は、上記の上限以下となります。
また、バッチアプリケーション間で、標準出力/標準エラー出力を利用したデータの引継ぎはできません。
![]()
- 上限を超えて出力した分のデータは切り捨てられます。すべてのデータ出力は保障されないため、バッチアプリケーションから、標準出力/標準エラー出力に業務データ等の重要なデータを出力しないでください。
- バッチアプリケーションからメッセージなどを標準出力/標準エラー出力に出力する場合、データがバッファリングされるため、処理と同時に出力されません。処理と同時に出力したい場合は、バッチアプリケーション内でfflush関数を使用して処理と同期をとってください。
バッチ実行基盤では、バッチアプリケーションが使用する業務用データベースのトランザクション制御を行いません。バッチアプリケーション内でトランザクション制御を行ってください。
バッチ実行基盤では、バッチアプリケーションでのIPC資源の利用を管理しないため、プロセスダウン等が発生した場合、IPC資源が回収されません。
バッチアプリケーション内で、標準出力/標準エラー出力にプロンプトを出力して入力要求を求めるような処理はできません。
バッチ受付サービス、バッチ実行サービス、バッチワークユニット、バッチアプリケーション、引継ぎファイルなどで扱うデータのコード体系は、すべて同じコード体系に統一してください。
文字コードの設計については、“Interstage Job Workload Server セットアップガイド”の“文字コードの設計”を参照してください。
C言語アプリケーションの英数字項目の入力パラメタの扱いは以下のとおりです。
目次
![]() ![]() |