記事の引越しから漏れていたのでサルベージ。
Ruby on Railsを使ってある程度大きめのアプリケーションを作るようになると、ごく稀に「Lost connection to MySQL server during query」というエラーが発生するようになる事があります。
この問題については、yuguiさんの記事
「Lost connection to MySQL server during query」
に詳しいです。
結局のところ、はっきりとした解決策も見つからず、ごく稀なので放置気味になっていたのですが、先日解決策を見つけたので改めて紹介します。
解決策:
mysql_retry_lost_connectionというrubygemを使うことで、コネクションのLostが発生した場合に、自動的に再接続を試みるようにActiveRecordの挙動を修正することが出来ます。
詳細はこのGemの作者のTylerさんの記事
「Saying goodbye to lost connections in Rails」で説明されています。
使い方:
# sudo gem install mysql_retry_lost_connection
を行い、config/environment.rbの中でrequire 'mysql_retry_lost_connection'をすればOK。
rails
2日ほど使ってみたところ、このGemを導入してから一度もLostConnectionのエラーが発生しなくなりました。このGemが効果を表さない場合もあると思いますが、Lost Connectionでお悩みの方には朗報ではないかと思います。
See Also
posted by
genki on Wed 21 Nov 2007 at 13:30 with 0 comments