特定の時間に監視されるアプリケーションを再起動する方法

特定の時間に監視されるアプリケーションを再起動する方法

私は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を使い続けたいと思います。

関連情報