web-dev-qa-db-ja.com

スーパーバイザVS cronjob

実際、私は supervisor を使用してプロセスを監視し、何らかの理由で停止したときにプロセスを再起動しています。問題は、スーパーバイザがクラッシュした場合、プロセスが停止して監視されることです。

したがって、私はcronjobをスケジュールして、スーパーバイザーが実行されていることを確認し、最終的に再起動することを考えました。

次に検討しているのは、スーパーバイザを削除して、プロセスをcronjobから直接確認することです。私は時々、スーパーバイザがメモリを使いすぎていることを確認しました(ただし、確認する必要があります)。

スーパーバイザVS cronjobでプロセスを監視することの利点は何ですか?

8
Paolo

Cronが定期的にシェルスクリプトを呼び出してサービスが実行されていることを確認することは、実際には単純なネットワークでサービスを監視するためのかなりまともなエントリレベルの方法です。 Cronは1分に1回チェックできるため、60秒未満のダウンタイムが許容できる場合は、環境の要求に十分対応できます。セットアップと使用は簡単です。

一方、スーパーバイザは、サービスプロセスに関するカーネルからのリアルタイム信号を処理できます。これは、単純なcronスクリプトよりもはるかに短い応答です。 Cronを使用して監視対象サービスを監視することも、それほど難しくはなく、優れた第2防衛線を提供します。

単一障害点が原因でサービスがドロップすることなく、サービスが稼働し、非常に短い間隔で応答していることを確認する必要がある場合は、マルチサーバーサービスのフェイルオーバー検出とより堅牢なモニタリングソリューションが適しています。これらはすべて、より多くの計画と保守投資を伴う、より複雑なネットワーク配置を必要とします。

12
Magellan

私のすべてのシステムには、cronフォルダーがあります(定期的に同期されます)。 crontabによって5分ごとに実行されるように設定された単一のスクリプトで、どのサーバーでいつ何を実行するかについてのルールが設定されています(個人サーバーと同様に、私のFBに週に1回クエリを実行して、自分や友達の音楽が好きか、映画を確認します/テレビが好きで、それらを私のnetflixキューと比較します。または、より専門的に5分ごとに会社のアップロードフォルダーをチェックして、分析するデータがあるかどうかを確認します。

プロセスや他のスクリプトコマンドに応じて、適切に終了しない場合や通常よりも時間がかかる場合は、cronスクリプトを複数回実行することができます。したがって、スクリプト化されたcronルートを使用する場合は、まずそれがすでに実行されているかどうかを確認し、古いプロセスを強制終了するか、プロセスが完了するまで待つことを忘れないでください。

3
Zae

Cronは、1分に1回を超える頻度でチェックを起動できません。

0
Antonio