P5ジョブの動作スケジュールを組み上げる際、P5の自動再起動を考慮されると、ジョブ実行におけるトラブルを回避できます。
P5の自動再起動とは?
P5は1日に1回プロセスを自動で再起動します。これは、P5の動作仕様上、細かいデータを保持し続けることが多いため、プロセスの再起動を行うことでシステムリソースを定期的に開放して、P5をはじめとしたシステム全体の安定した動作を維持します。
自動再起動が行われるのは?
デフォルトでは、毎日4時から7時の3時間です。
この時間になると10分ごとにジョブの動作状況やユーザーログインの有無などを確認します。
設定された時間内において、ジョブが実行されず、ログインしているユーザーがいない場合には、再起動が実行されます。再起動はP5の中枢プロセスのみに対して行われ、数分以内に完了します。
もしこの時間内に再起動が実施できない状態に変化が無ければ、再起動処理は翌日の設定時間まで実施されません。
自動再起動を踏まえたジョブスケジュール
設定された再起動時間の間に、ジョブが動作していない時間を約15分程度作ることが望ましいとされます。例えば、デフォルト設定の場合は4時~7時の間です。この間に、ログインユーザーが存在せず、ジョブが動作していないタイミングを作るようにスケジュールする必要があります。
特に注意するべき点
- ジョブの所要時間
設定されたジョブが完了するまでどの程度の時間を要するかを把握する必要があります。
再起動時間がデフォルト設定でジョブの開始が3時の場合、もしジョブの完了に4時間以上要すると7時を超えてしまい、再起動が行えなくなります。
この状態が翌日以降も続く限り、再起動が実施できません。 - リモートクライアント
P5クライアントプロトコルを利用したリモート間でのジョブを設定している場合は、リモート先のP5プロセス再起動時間も考慮する必要があります。
なぜなら、このケースは少々複雑で、ジョブを実行しているサーバーと接続先のリモートクライアントは、全く異なる動作を行っていることに注意しなければなりません。具体的には、リモート先はサーバー側が必要な場合のみにしか動作しません。つまり、サーバー側でジョブの処理が行われていても、リモート側では再起動が行われることがあります。もしリモート側で再起動が行われた直前直後にサーバー側がリモート側に対して何らかのアクションを求めると、リモート側は必要な動作ができる状態にないため、サーバーではそのジョブ自体がエラーを起こしたと判断してしまうことがあります。
自動再起動時間自体を変更する
自動再起動の実施時間は変更することもできます。詳細は以下の記事をご参照ください。
サーバー再起動時間の設定