sinatraからactiverecordを使ってるとActiveRecord::ConnectionTimeoutErrorと出る
ActiveRecord::ConnectionTimeoutError
何かよく解らないけどコネクションエラーが出る。 どうもコネクションプールの辺りに問題が有るらしいがそれくらい勝手になんとかしておいて欲しいと思うのが本音。。。
対応策としてはここに書いてあるのを参考にして。 http://tech.recompile.net/post/12565750035/activerecord
poolしてあげて。ってのをブロックで囲んであげるっぽい。 こんなの毎回書かなきゃいかんのか・・・?
元がこうなら
get '/' do @hoges = Hoge.find(:all, :limit => 20) erb :index end end
こんな感じ
get '/' do ActiveRecord::Base.connection_pool.with_connection do begin @hoges = Hoge.find(:all, :limit => 20) erb :index end end end
後で調べる(調べないフラグになる)