ページの先頭行へ戻る
Interstage Application Server OLTPサーバ運用ガイド

2.3.6 ワークユニットの出口機能

  ワークユニットの運用支援機能として、以下の機能を使用することができます。

  ここでは、各出口機能の説明と、その効果および注意事項について説明を行います。


  ユーティリティワークユニットを使用する場合は、必ず、プロセス停止出口プログラムを作成してください。
  また、出口機能を使用する場合は、ワークユニット定義で指定したカレントディレクトリのディスク領域で、運用中に領域不足が発生しないよう十分注意してください。領域不足が発生すると、出口プログラムの実行に失敗する場合があります。

2.3.6.1 プロセス停止出口プログラム機能

  プロセス停止出口プログラムは、ユーティリティワークユニットのプロセスを停止するための出口プログラムです。プロセス停止出口プログラムが設定されると、ユーティリティワークユニットの通常停止、強制停止およびワークユニット異常終了時のプロセス停止時に、起動されているプロセス単位にプロセス停止出口プログラムが呼び出されます。
  プロセス停止出口プログラムでは、通知されるプロセス番号のプロセスを停止する必要があります。
  プロセス停止出口プログラムが設定されていない場合は、ワークユニットを停止してもプロセスは停止しません。その場合、利用者が直接プロセスを停止する必要があります。そのためユーティリティワークユニットを使用する場合は、必ず、プロセス停止出口プログラムを作成してください。
  本機能は、ユーティリティワークユニットでのみ使用することができます。
  プロセス停止出口プログラムの詳細については、“G.3 ユーティリティワークユニットのプロセス停止出口プログラム機能”を参照してください。

2.3.6.2 ワークユニット出口プログラム機能

  ワークユニット単位に出口プログラムを設定することが可能です。ワークユニット起動/停止/異常終了などの事象ごとにワークユニット定義に指定したワークユニット出口プログラムを呼び出します。
  ワークユニット起動時に共用メモリなどの資源を獲得し、ワークユニット停止または異常終了した場合に資源を解放するような場合に有効です。

  また、ワークユニット起動時に呼び出されるワークユニット出口プログラムはユーザ情報を返却することができ、この情報はプロセス情報通知より参照が可能です。
  たとえばワークユニット起動時にワークユニット出口プログラムにより共用メモリを獲得し、その獲得した共用メモリ識別子をワークユニット出口プログラムのユーザ情報として復帰することで、アプリケーションプロセスでワークユニット起動時に獲得した共用メモリ識別子を受け渡すことが可能となります。

  ワークユニット出口プログラム機能は、最大処理時間監視を行うことができます。最大処理時間を超過した場合、出口プログラムを呼び出すプロセスは強制停止され、メッセージが出力されます。ワークユニットの起動時には、ワークユニット起動が失敗します。その他の契機で呼び出された場合は、動作異常とはなりません。
  ワークユニット出口プログラムがループなどにより復帰しない場合、ワークユニットの起動/停止が終了しません。そのため、必ず最大処理時間監視を行うようにしてください。

  ワークユニット出口プログラムは以下のディレクトリ上で動作します。

プラットフォーム

システム

指定形式 (1)

Windows(R)

xxx\yyy\zzz

Solaris
Linux

デフォルトシステム

xxx/yyy/zzz

拡張システム (2)

xxx/yyy.システム名/zzz

  1)
    xxx:ワークユニット定義で指定されたディレクトリ
    yyy:当該ワークユニット名
    zzz:ワークユニット出口プログラムの実行プロセスID

  2)
    拡張システムはSolarisのみ使用可能です。

  また、上記ディレクトリ上に標準出力ファイルおよび標準エラー出力ファイルが出力されます。

  ワークユニット出口プログラム機能の詳細については、“G.1 ワークユニット出口プログラム機能”を参照してください。


  ワークユニット出口プログラム機能は出口プログラムがワークユニット起動時に一度呼び出され、ワークユニット停止時に一度呼び出されます。ワークユニット起動時/停止時にアプリケーションプロセスごとに呼び出される前/後出口機能とは異なる機能であるため、注意が必要です。
  ワークユニット出口プログラム機能とプロセス回収出口プログラム機能を併用する場合は、実行モジュールは同一とする必要があります。

2.3.6.3 プロセス回収出口プログラム機能

  アプリケーションが停止(異常終了も含む)した場合、ワークユニット定義で設定したプロセス回収出口プログラムを呼び出すことが可能です。プロセスが停止した場合、共有メモリなどに設定されたプロセスに関する資源、情報を削除したい場合に有効です。

  プロセス回収出口プログラムはアプリケーションプロセス以外のプロセスから呼び出されますので、アプリケーションプロセス上でのみ参照可能な情報は参照できません。そのため、プロセス回収出口プログラムを作成する場合、考慮する必要があります。
  当プロセス回収出口プログラムは停止コマンドによる停止または異常終了など、プロセスが停止した場合に呼び出されます。

  ただし、ユーティリティワークユニットの場合、停止コマンドにより停止された場合、およびワークユニット異常終了時に停止されたプロセスに関しては呼び出させません。

  プロセス回収出口プログラム機能には、最大処理時間監視を行うことができます。最大処理時間を超過した場合、出口プログラムを呼び出すプロセスは強制停止され、メッセージが出力されます。動作異常とはなりません。
  プロセス回収出口プログラムがループなどにより復帰しない場合、次のワークユニットの操作が待ち状態となります。そのため、必ず最大処理時間監視を行うようにしてください。

  プロセス回収出口プログラムは以下のディレクトリ上で動作します。

プラットフォーム

システム

指定形式 (1)

Windows(R)

xxx\yyy\zzz

Solaris
Linux

デフォルトシステム

xxx/yyy/zzz

拡張システム (2)

xxx/yyy.システム名/zzz

1)

xxx:ワークユニット定義で指定されたディレクトリ
yyy:当該ワークユニット名
zzz:プロセス回収出口プログラムの実行プロセスID

2)

拡張システムはSolarisのみ使用可能です。

  また、上記ディレクトリ上に標準出力ファイルおよび標準エラー出力ファイルが出力されます。

  プロセス回収出口プログラムの詳細については、“G.2 プロセス回収出口プログラム機能”を参照してください。