[説明]
ワークユニットの制御オプションを指定します。
本セクションは、ワークユニット定義に必ず1つだけ設定してください。
[形式]
[Control Option]
Path: | アプリケーションライブラリパス |
Current Directory: | カレントフォルダ |
Application Retry Count: | 連続異常終了回数 |
Path for Application: | アプリケーション使用パス |
Library for Application: | アプリケーション使用ライブラリパス |
Environment Variable: | 環境変数 |
Maximum Processing Time for Exit Program: | 出口プログラム最大処理時間 |
WorkUnit Exit Program: | ワークユニット出口プログラム名 |
Executable File of Exit Program for Salvage: | プロセス回収出口プログラム実行ファイル名 |
WorkUnit Automatic Stop Mode: | 自動停止モード |
Traffic Director Monitor Mode: | IPCOM連携時の監視有無 |
Startup Time: | ワークユニット起動待ち時間 |
Shutdown Time: | プロセス強制停止時間 |
Start Log: | プロセス起動ログ採取 |
Process Degeneracy: | プロセス縮退運用 |
Number of Revision Directories: | カレントディレクトリの退避世代数 |
[構文規則]
ワークユニット種別が“CORBA”、“UTY”の場合、以下のステートメントは必須です。
“Path”ステートメント
“Current Directory”ステートメント
以下のステートメントは最大10個まで指定できます。複数指定する場合は、それぞれのステートメントを繰り返し記述します。
“Path”ステートメント
以下のステートメントは最大30個まで指定できます。複数指定する場合は、それぞれのステートメントを繰り返し記述します。
“Path for Application”ステートメント
“Library for Application”ステートメント
“Environment Variable”ステートメントの設定内容には、行末の改行コード分(2バイト)が文字列の長さに自動的に加算されます。
“Environment Variable”ステートメントは複数指定することができます。その場合、すべての“Environment Variable”ステートメントで指定した文字列の合計が、4096バイト以内でなければなりません。
以下のセクションに、“Executable File of Exit Program for Salvage”ステートメントを記述した場合、そのセクションに記述した定義内容が、有効となります。このとき、各々のステートメントに、同一の実行ファイル名は指定できません。
[Application Program]セクション
[説明]
アプリケーションおよび出口プログラムの実行ファイルが格納されているディレクトリのパスを設定します。また、アプリケーション言語がC++の場合はアプリケーションおよび出口プログラムの実行可能ファイルが格納されているディレクトリのパスを設定します。
ワークユニット種別が“CORBA”で、アプリケーション言語がJavaの場合は、Java実行体格納ディレクトリのパスを指定します。
本ステートメントは最大10個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスを複数指定することはできません。
255バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。絶対パスで指定してください。相対パスおよびカレントディレクトリ“.”は指定できません。
本ステートメントは以下のワークユニット種別の場合、必ず指定してください。
“/”で始まる255バイト以内の空白文字と半角カナ文字を除く文字列。
本ステートメントには必ず絶対パスを指定してください。相対パスおよびカレントディレクトリ“.”は指定できません。
本ステートメントは以下のワークユニット種別の場合、必ず指定してください。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
アプリケーションおよび出口プログラムのカレントディレクトリを作成するためのパスを設定します。
本ステートメントには、必ず実際に存在するパスを設定してください。パスが存在しない場合は、ワークユニットの起動に失敗します。
本ステートメントで指定されたディレクトリに、ワークユニット名のディレクトリが作成され、さらにその配下にプロセスID名のディレクトリが作成され、プロセスIDのディレクトリが実際のカレントディレクトリとなります。
本ステートメントで指定されたディレクトリのディスク領域が不足している場合、ワークユニットの起動に失敗する場合があります。また、SolarisおよびLinuxでは、アプリケーションプロセスが異常終了した場合に、coreファイルが出力されます。そのため、十分なディスク領域を確保してください。
127バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。絶対パスで指定してください。相対パスおよびカレントディレクトリ“.”は指定できません。
本ステートメントは以下のワークユニット種別の場合、必ず指定してください。
また、Java言語およびCOBOL言語の場合、stdoutファイルおよびstderrファイルは作成されますが、ファイルにデータは出力されません。
“/”で始まる255バイト以内の空白文字と半角カナを除く文字列。
本ステートメントには必ず絶対パスを指定してください。相対パスおよびカレントディレクトリ“.”は指定できません。
本ステートメントは以下のワークユニット種別の場合、必ず指定してください。
また、Java言語の場合、stdoutファイルおよびstderrファイルは作成されますが、ファイルにデータは出力されません。
Java言語でファイルにデータを出力する場合、使用者が標準出力、標準エラー出力をファイルに割り当てるようにプログラミングする必要があります。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
自動再起動不可となるまでのアプリケーションの連続異常終了回数を設定します。
本ステートメントには、0~255の整数値を指定することができます。
本ステートメントは省略可能です。本ステートメントを省略した場合、または0を指定した場合は無条件に再起動を行います。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
本ステートメントに1を指定した場合は、アプリケーションプロセスの再起動は行われません。その場合、ワークユニットは異常終了します。
また、2以上の値が設定された場合は、サーバアプリケーションの実行が指定された回数連続して異常終了した場合にワークユニットが異常終了します。サーバアプリケーションが正常に復帰した時には、カウンタがリセットされます。
CORBAワークユニットの場合で、Factoryやオブジェクト単位のプロセスバインドのように初回のメソッドでオブジェクトリファレンスを生成する論理の場合、このメソッドが正常に動作してもカウンタがリセットされます。そのため、業務用のメソッドの呼び出しで異常終了しても2以上の値が有効にならない場合があります。
ユーティリティワークユニットの場合は、リトライカウントリセット時間([Application Program]セクションの“Reset Time for Application Retry Count”ステートメントで指定)を指定して、一定時間経過するとカウンタがリセットされるよう定義してください。
[説明]
アプリケーションおよび出口プログラムが動作時に使用するパスを設定します。
本ステートメントは最大30個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスを複数指定することはできません。
複数指定された場合、指定された順に環境変数“PATH”に設定されます。また、本ステートメントで設定された値の後に、Interstage起動環境で設定されている“PATH”環境変数の値が設定されます。
本ステートメントは、環境変数PATHに設定可能な値を指定できます。
255バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。本ステートメントは省略可能です。本ステートメントを省略した場合、アプリケーション使用パスなしと見なします。
255バイト以内の空白と半角カナ文字を除く文字列。本ステートメントは省略可能です。本ステートメントを省略した場合、アプリケーション使用パスなしとみなします。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
本ステートメントは最大30個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスを複数指定することはできません。
また、それ以外にアプリケーションおよび出口プログラムが動作時に使用するライブラリのパスを設定します。本ステートメントは、環境変数LD_LIBRARY_PATHに設定可能な値を指定できます。255文字以内の空白と半角カナ以外の文字列を設定します。
本ステートメントは省略可能です。本ステートメントを省略した場合、使用ライブラリパスなしとみなします。
アプリケーション言語にCOBOLを使用されている場合は、COBOLランタイムライブラリのパスを設定してください。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
[説明]
アプリケーションおよび出口プログラムが動作時に使用する環境変数を、半角カナ文字を除いた4096バイト以内の文字列で設定します。
設定内容は以下のような形式で指定します。
“環境変数=値”
LD_PRELOADなど、値をスペースで区切る環境変数を設定する場合は、以下の例のようにダブルクォーテーションで括って設定してください。
Environment Variable:"LD_PRELOAD=/etc/opt/FSUNiconv/lib/libicv.so /usr/lib/watchmalloc.so.1"
ただし、文字種別・長さ以外のチェックは行いません。
本ステートメントは省略可能です。本ステートメントを省略した場合、環境変数なしとみなします。
本ステートメントは複数指定することができます。その場合、すべての“Environment Variable”ステートメントで指定した文字列の合計が、4096バイト以内でなければなりません。
[Application Program]セクションの“Environment Variable”ステートメントで指定された環境変数と[Control Option]セクションの“Environment Variable”ステートメントで指定された環境変数が同じ場合は、[Application Program]セクションの“Environment Variable”ステートメントで指定された環境変数が使用されます。
なお、以下は本ステートメントの予約語なので指定できません。
PATH
LD_LIBRARY_PATH
SHLIB_PATH
LD_LIBRARY_PATH
追加が必要な場合は、“Path for Application”ステートメントまたは“Library for Application”ステートメントで指定してください。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
出口プログラムの最大処理時間の監視値(秒)を設定します。
1~1800の整数値。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として300が設定されます。
以下のセクションに、“Maximum Processing Time For Exit Program”ステートメントを記述した場合、そのセクションに記述した定義内容が、有効となります。
[Application Program]セクション
本ステートメントの値は以下の各出口プログラムに対して有効です。また、各出口プログラムの処理時間が指定された時間を超過した場合は、出口プログラムが動作しているプロセスを強制停止します。
ワークユニット出口プログラム
ワークユニット起動時に実行された時に時間超過した場合は、ワークユニットの起動に失敗します。ワークユニット終了時に実行された時に時間超過した場合は、ワークユニット終了処理を継続します。
プロセス回収出口プログラム
時間超過した場合も、ワークユニット停止処理は継続します。
プロセス停止出口プログラム
時間超過した場合も、ワークユニット停止処理は継続します。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
ワークユニット起動時のプロセス起動前と、ワークユニット終了時のプロセス回収後に、1回ずつ実行される出口プログラムの関数名を設定します。本項目を設定する場合、出口プログラム実行モジュール名を必ず指定してください。
本ステートメントは省略可能です。
31バイト以内の英数字とアンダースコアで指定します。
31バイト以内の英数字とアンダースコアで指定します。
プロセスの起動に失敗し、ワークユニットの起動に失敗した後、および、ワークユニットが異常終了してプロセスの回収が終わった後にも、ワークユニット出口プログラムは実行されます。
本ステートメントを設定した場合は、必ず、Executable File of Exit Program for Salvageステートメントに出口プログラム実行ファイル名を指定する必要があります。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
ワークユニット出口プログラムおよびプロセス回収出口プログラムの実行モジュールを設定します。
31バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角および全角英文字の大文字と小文字は区別されません。
31バイト以内の空白文字と半角カナを除く文字列。
本ステートメントは省略可能です。
また、“WorkUnit Exit Program”ステートメントが設定された場合、本ステートメントは省略できません。
以下のセクションに、“Executable File of Exit Program for Salvage”ステートメントを記述した場合、そのセクションに記述した定義内容が、有効となります。このとき、各々のステートメントに、同一の実行ファイル名は指定できません。
[Application Program]セクション
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
ユーティリティワークユニットにおいてバッチプログラムを実装する場合に“YES”を設定します。“YES”が設定された場合、プロセスが終了しても再起動は実施せず、同一ワークユニット配下の全てのプロセスが終了したときにワークユニットを自動的に停止します。
“YES”:ワークユニットを自動停止する。
“NO”: ワークユニットを自動停止しない。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として“NO”が設定されます。
ワークユニット種別が“UTY”の場合のみ有効です。
本ステートメントに“YES”が指定された場合、アプリケーションが異常終了した場合でも、再起動されず、その後、全てのプロセスが終了するとワークユニットは正常終了します。そのため、本ステートメントはバッチプログラムをワークユニットで起動する場合に設定してください。
[サポート範囲]
OS | Solaris, Linux |
有効なワークユニット種別 | UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
クライアントからの要求メッセージを、要求待ちのサーバアプリケーションプロセスに振り分ける方式を指定します。
“LIFO”: 要求待ちのサーバアプリケーションプロセスの中で、最後に要求待ちとなったプロセスに、クライアントからの要求メッセージを割り当てます。
“FIFO”: 要求待ちのサーバアプリケーションプロセスの中で、最初に要求待ちとなったプロセスに、クライアントからの要求メッセージを割り当てます。
本ステートメントが指定された場合、ワークユニット内のすべてのアプリケーションに対して有効となります。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として“LIFO”が設定されます。
以下のセクションに、“Request Assignment Mode”ステートメントを記述した場合、そのセクションに記述した定義内容が、有効となります。
[Application Program]セクション
[サポート範囲]
有効なワークユニット種別 | CORBA |
(注) サーバアプリケーションの情報としてOD_impl_instコマンドでiswitchパラメタにONが設定されていると本ステートメントの設定は無効となります。
[説明]
IPCOM連携時に、本ワークユニットをダウン監視対象とするか否かを設定します。
“YES”: IPCOMの監視対象とします。
“NO”: IPCOMの監視対象としません。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として“NO”が設定されます。
マルチシステム機能の使用時は、デフォルトシステムでのみ有効です。拡張システムで指定しても有効とはなりません。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。
[説明]
ワークユニットの起動が完了するまでの監視時間(秒)を指定します。
0~65535の整数値。
アプリケーションプロセスの起動処理が指定された時間を超過した場合は、プロセスをシャットダウンし起動処理を中止します。その場合、ワークユニット起動処理は異常終了します。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として180が設定されます。
なお、0が設定された場合は、起動時間監視は行いません。ワークユニット起動処理が完了するまで待ち続けます。
本ステートメントは、ワークユニット種別が“CORBA”の場合に有効です。
[サポート範囲]
OS | Windows, Solaris, Linux |
有効なワークユニット種別 | CORBA |
[説明]
ワークユニットの停止が実行された場合、プロセスの停止が完了するまでの待ち時間(秒)を指定します。
0~65535の整数値。
アプリケーションプロセスの停止処理が、指定された時間を超過した(ハングアップした)場合は、プロセスをシャットダウンし、停止処理は正常終了します。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として180が設定されます。
なお、0が設定された場合は、停止時間監視は行いません。アプリケーションプロセスの停止処理が完了するまで待ち続けます。
本ステートメントは、ワークユニット種別が“CORBA”の場合に有効です。
本ステートメントは、ワークユニット停止以外に、以下の操作でも有効です。
ワークユニットのプロセス多重度変更(※1)でアプリケーションプロセス数を減少させる場合
ワークユニット活性変更(※2)で、旧環境を削除する場合(※3)
ワークユニット活性変更(※2)の復元(commit or rollback)フェーズで、アプリケーションプロセスを停止させる場合(※3)
(※1)プロセス多重度変更については、”リファレンスマニュアル(コマンド編)の「ismodifyprocnum」”を参照してください。
(※2)ワークユニット活性変更については、“OLTPサーバ運用ガイドの「CORBAワークユニットの活性変更」”を参照してください。
(※3)ワークユニット活性変更は、Linux for Itanium版Interstageのみで利用できます。
■見積もり方法
プロセス強制停止時間は、ワークユニット停止においてアプリケーションプロセスの停止処理が異常である(ハングアップしている)と判断する基準値(時間)です。プロセス強制停止時間の見積もり方法については、"チューニングガイド(「ワークユニットのチューニング」「プロセス強制停止時間のチューニング」)"を参照してください。
■互換モード
Interstage Application Server V9.1以前は、ワークユニット強制停止のみ、本ステートメントは有効でした。ワークユニット通常停止と同期停止では有効ではありません。互換モードは、Interstage Application Server V9.1以前の仕様と同様の運用モードです。
[Interstage Application Server V9.1以前との共通点]
互換モードでは、ワークユニット通常停止、または、同期停止で、停止処理が指定された時間を超過しても、プロセスはシャットダウンしません。(強制停止の場合のみプロセスをシャットダウンします。)
[Interstage Application Server V9.1以前との差異]
互換モードでは、ワークユニット通常停止、または、同期停止で、停止処理が指定された時間を超過した場合、メッセージ(EXTP4381)を出力します。
ワークユニット同期停止は、アプリケーション処理中に実行すると、処理中の要求が完了するのを待ってからプロセスを停止します。本ステートメントが設定されていた場合、処理中の要求が遅延すると、処理中の要求が途中で強制終了される場合があります。このような場合、本ステートメントの見積もりを見直すか、処理中の要求を待ち続けるために、互換モードを設定してください。
互換モードの設定は、環境変数”EXTP_COMP_SHUTDOWNTIME=YES”をワークユニット定義の[Control Option]セクションに設定してください。
[Control Option] |
デフォルトのモードを設定するには、環境変数”EXTP_COMP_SHUTDOWNTIME”を省略するか、”EXTP_COMP_SHUTDOWNTIME=NO”にしてください。
モードを切り替える際は、ワークユニット定義を更新し、ワークユニットを再起動してください。
[サポート範囲]
OS | Windows, Solaris, Linux |
有効なワークユニット種別 | CORBA |
[説明]
CORBAワークユニットのプロセス起動時のログを採取します。
“YES”: 起動ログを採取します。
“NO”: 起動ログを採取しません。
“YES”が指定された場合、ワークユニットのカレントディレクトリ配下にログファイルを作成し、プロセスの起動パラメタおよび起動時の環境変数を出力します。
ログファイルの出力先とファイル名は、以下のとおりです。
“[カレントディレクトリ]\[ワークユニット名]\[プロセス ID]_info.log”
“[カレントディレクトリ]/[ワークユニット名]/[プロセス ID]_info.log”
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として“NO”が設定されます。
本ステートメントを指定することにより、開発段階においてCORBAワークユニットの起動に失敗した場合、プロセスの起動パラメタや環境変数に誤りが無いか確認するための、調査資料を採取することができます。
[サポート範囲]
OS | Windows, Solaris, Linux |
有効なワークユニット種別 | CORBA |
(注) 実行ファイル名および実行ファイルのパスに誤りがある場合は、プロセス起動時のログは出力されません。
[説明]
ワークユニット運用中に、プロセスの異常終了が発生した場合、自動再起動機能によりプロセスは再起動されます。この時、何らかの原因によりプロセスの再起動に失敗した場合、プロセス数が1つ少ない状態で運用を継続(縮退運用)することができます。
“YES”: 再起動に失敗した場合、プロセス数を縮退し運用を継続します。
“NO”: 再起動に失敗するとワークユニットを停止します。
プロセス多重度(Concurrency)が2以上の場合に有効です。なお、プロセス再起動失敗を繰り返し、運用中のプロセス数が0になった場合は、ワークユニットを停止します。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として“NO”が設定されます。
本ステートメントを指定することで、プロセス異常終了後、再起動に失敗した場合でも、残りのプロセスでワークユニットの運用を継続することができます。そのため、本ステートメントに“YES”を指定することを推奨します。
[サポート範囲]
OS | Windows, Solaris, Linux |
有効なワークユニット種別 | CORBA |
[説明]
ワークユニットのカレントディレクトリの退避世代数を指定することができます。本ステートメントを指定することにより、ワークユニットが過去に起動された時のカレントディレクトリを、指定された世代数残すことができます。
本ステートメントには、0から5の値を指定することができます。
0が指定された場合は、過去の起動時のカレントディレクトリは残りません。ワークユニット起動時に前回起動時のカレントディレクトリは削除されます。
本ステートメントは省略可能です。本ステートメントを省略した場合、省略値として1が設定されます。
本ステートメントを指定することで、ワークユニットが異常終了した場合でも、カレントディレクトリ配下の出力されたデータが残るため、業務復旧を優先してワークユニットを起動し、その後、カレントディレクトリ配下のデータを採取することができます。そのため、本ステートメントに1を指定することを推奨します。
本ステートメントの省略値は1です。そのため、ワークユニットのカレントディレクトリで指定したディレクトリ配下には、前回起動時に作成されたディレクトリとファイルが残ります。
カレントディレクトリで指定されたディレクトリのディスク領域は、出力されるファイルのサイズを考慮し、十分な空き領域を確保してください。
[サポート範囲]
有効なワークユニット種別 | CORBA, UTY |
(注) “UTY”はSolaris、Linuxでサポートされており、Windowsでは未サポートです。