Interstage Application Server OLTPサーバ運用ガイド |
目次 索引 |
第2章 ワークユニットの機能 | > 2.2 CORBAワークユニット |
クライアントからの入力データの誤りなどにより、アプリケーションプロセスが異常終了した場合に、アプリケーションプロセスを自動的に再起動させることができます。自動再起動を設定すると、クライアントからの新たな要求を処理することができます。
ただし、アプリケーションプロセスが異常終了した時点で仕掛中の要求処理は、クライアントに例外が復帰し、再処理されることはありません。再起動されたアプリケーションプロセスは、キューイングされている新たな要求を処理します。
また、アプリケーションの障害などにより、該当アプリケーションが1度も正常に処理されず、異常終了と再起動が繰り返されてしまうことがあります。このような場合の対処として、アプリケーションプロセスが異常終了する回数の限界値をワークユニット定義の“Application Retry Count(連続異常終了回数)”に指定できます。この場合、アプリケーションプロセスの連続異常終了回数がワークユニット定義で指定した連続異常終了回数に達したとき、ワークユニットが異常終了し、該当ワークユニットで処理中の要求およびキューイングされている要求は、クライアントへエラー復帰します。
なお、“Application Retry Count(連続異常終了回数)”に1を指定した場合は、再起動は行わず、1度アプリケーションプロセスが異常終了するとワークユニットが異常終了します。また、“Application Retry Count(連続異常終了回数)”に0を指定した場合は、アプリケーションプロセスが異常終了した場合、無制限に再起動され、ワークユニットの運用が継続されます。ただし、プロセスの再起動が失敗した場合は、ワークユニットは異常終了となり、同一ワークユニット内で動作しているすべてのアプリケーションが停止します。
連続異常終了回数は、ワークユニット定義で設定します。ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の“Application Retry Count(連続異常終了回数)”に設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は“ワークユニット定義”を参照してください。
ワークユニット定義
[Control Option] |
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1 |
以下の方法で連続異常終了回数を設定してください。
Interstage管理コンソールを使用する場合は、“Intestage管理コンソールのヘルプ”も参照してください。
連続異常終了回数とは、該当アプリケーションが1度も正常に処理されず、異常終了と再起動が繰り返された回数のことです。そのため、連続異常終了回数まで一度でも該当アプリケーションの処理が正しく動作した場合(アプリケーションが復帰した場合)、異常終了回数のカウンタはリセットされます。
例えば、連続異常終了回数が3に設定されている場合、アプリケーションが、“1)異常終了”→“2)再起動”→“3)異常終了”→“4)再起動”→“5)正常復帰”→“6)異常終了”の順に動作すると、“3)異常終了”で異常終了回数のカウンタは2となりますが、“5)正常復帰”の時にカウンタは初期化され、“6)異常終了”の時点ではカウンタは1となります。そのため、その後プロセスは再起動します。なお、“4)再起動”の後に異常終了した場合は、カウンタが3に達するため、ワークユニットはダウンします。
アプリケーションの再起動が失敗した場合、デフォルトではワークユニットが異常終了する仕様ですが、アプリケーションが複数多重で起動されているワークユニットでは、本来、残りのプロセスで業務を継続できる場合があります。これを実現するための機能として、アプリケーションの再起動に失敗した場合でも、アプリケーション再起動失敗のメッセージを出力し、残りのプロセスでのワークユニット運用を継続する機能を提供しています。詳細は、“ワークユニットのアプリケーション自動再起動失敗時の縮退運用”を参照してください。
なお、デフォルトでは縮退運用機能は有効ではありません。プロセス自動再起動失敗のトラブル発生時に備えるために、プロセス多重度に2以上が設定されている場合は、縮退運用機能を有効にして運用することを推奨します。
目次 索引 |