私はmonitによって監視される長期実行Pythonアプリケーションを持っています。このアプリケーションは、毎分すべてが大丈夫であることを確認します。これは素晴らしいですが、アプリが誤動作している場合は、ユーザーがアプリを終了できるようにしたいと思います。これまでは単純なシステムコールのように見えます。
subprocess.run('monit stop app')
これにより、次のチェック時に自動再起動が開始されず、停止して監視されなくなります。
しかし、その後もユーザーが再起動するのを忘れないように、夜のある時点で再起動したいと思います。毎分通常のチェックを失うことなくこれを行うには、どのようにcron式を追加する必要がありますか?
現在の構成の関連部分は次のとおりです。
check process app with pidfile /var/run/app.pid
start program = "/proj/folder/app/launchscript.sh start"
stop program = "/proj/folder/app/launchscript.sh stop"
# and with pseudocode I would like something like
if app is stopped or not monitored at 0 3 * * * then start
可能ですか?そうでない場合は、monitを実行して起動したアプリケーションからcrontabエントリを作成できますが、私はmonitを使い続けたいと思います。