これが私のアプリの概要です:
require 'sinatra'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => "mysql", host => $DB_HOSTNAME,
:database => $DB_NAME,:username => $DB_USERNAME,:password => $DB_PASSWORD)
class Sometable < ActiveRecord::Base
end
get '/' do
#stuff with Sometable
end
# a lot of route handlers..
等
アプリの初期化中に、establish_connectionを1回だけ呼び出します。MySQLの8時間のアイドル接続制限に遭遇し(MySQLサーバーがなくなりました)、それに対する最善のアプローチを考えています。
ActiveRecordソースを調べたところ、dbサーバー接続がプールされていることがわかりました。したがって、理想的には、すべてのWebリクエスト内に新しい接続を作成するか、タイムアウト設定を増やす必要がありますか?
御時間ありがとうございます!