記事の引越しから漏れていたのでサルベージ。

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 Png genki on Wed 21 Nov 2007 at 13:30

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry214
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ