Web クローリングを行うために使用するスクリプトがいくつかあります。それらは常に実行されており、停止することはありません。しかし、約 1 週間後、それらは体系的に「フリーズ」します。もはや出力はなく、Ctrl+C などに対する応答もありません。唯一の方法はkill
、プロセスを再起動することです。
これらの問題は、データの取得に使用するライブラリ ( ) に起因すると思われますurllib2
が、問題を再現するのは非常に困難です。
したがって、プロセスの状態を確認し、プロセスがフリーズしている場合は自動的に強制終了/再起動する方法を考えています。PID ファイルを作成し、定期的に更新することを考えていました。次に、別のスクリプトでこの PID ファイルの最終変更日を定期的にチェックし、古すぎる場合はプロセスを再起動します。Monitのようなものを使用して監視を行うことができます。
これは私がそれを行うべき方法ですか?プロセスの応答性をチェックするための別のベスト プラクティス/一般的な方法はありますか?