這裏是我的應用程序的輪廓:MySQL連接超時 - MySQL服務器已消失(西納特拉,ActiveRecord的)
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只有一次 - 應用程序初始化過程中。我遇到了MySQL的8小時閒置連接限制(MySQL server has gone away),我想知道最好的辦法。
我經歷了ActiveRecord的來源,發現它彙集了數據庫服務器連接。那麼,我應該在每個Web請求內創建一個新連接還是增加超時設置?
謝謝你的時間!