まれに XML を提供している Rails アプリがあります。これは mongrel と mysql で実行されています。アプリを数時間以上実行しないと、アプリが停止し、Errno::EPIPE エラーが発生し始めることがわかりました。非アクティブまたはそのようなもののためにmysql接続がタイムアウトしたようです。
「mongrel_rails restart -P /path/to/the/mongrel.pid」で再起動できます...しかし、それは実際の解決策ではありません。私の共同作業者は、彼が自分の側で作業しているときにアプリがそこにあることを期待しています (そして私はほとんどの場合不在です)。
私の質問は:
- そもそもこの問題が発生しないようにするにはどうすればよいですか? (例えば、タイムアウトしないでください!!)。
- それができない場合、Db 接続を自動的に作り直すためにどこかに挿入できるコードはありますか?