スケジューラリセットスクリプトを実行し、ジョブの遡り実行を回避する
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
今回は、Hinemosマネージャ(Linux版)の、スケジューラリセットスクリプト(hinemos_reset_scheduler.sh)を
利用し、ジョブの遡り実行を回避する方法をご紹介します。
1.本題に入る前に
Hinemosマネージャは、起動時にHinemosマネージャ停止期間中に
実行予定であった1時間以内(※デフォルト)のジョブを遡って実行いたします。
例えば、毎日10:00に実行予定のジョブAがあるとします。
09:30にHinemosマネージャを停止し、ジョブAの実行予定時間を過ぎた10:30に
Hinemosマネージャを再起動しました。
このような場合、以下の図のように、Hinemosマネージャ再起動直後にジョブAが遡って実行されます。
ただし、予期せずサーバが停止してしまった場合などには、ジョブを実行予定時刻よりも
遅れて実行させたくないということがあるかもしれません。
その場合、Hinemosマネージャを再起動する前に、以下の手順を実施することで、
実行予定だったジョブの遡り実行を回避することができます。
2.回避手順
手順1. PostgreSQLのみを起動します。
(root) # service hinemos_pg start
手順2. スケジューラリセットスクリプトを実行します
(root) # /opt/hinemos/sbin/mng/hinemos_reset_scheduler.sh
※スクリプト実行時、内部データベースのパスワードが要求されます。
手順3. PostgreSQLを停止させた後、Hinemosマネージャを起動します。
(root) # service hinemos_manager start
上記手順を踏むことで、Hinemosの内部スケジューラが調整され、
Hinemosマネージャ停止中に実行予定だったジョブの遡り実行を回避し、
起動後の時刻から実行予定のジョブが順次実行されます。
活用できる機会は限られるかもしれませんが、スケジューラリセットスクリプトを利用した、
ジョブの遡り実行を回避する方法のご紹介でした。