1
當運行一個Web服務,並試圖先停止MySQL的Rails的拋出:有沒有可能在Rails中從MySQL關機救援?
ActiveRecord::StatementInvalid (Mysql::Error: MySQL server has gone away:...
這是追趕能。但是關機過程後完成它剛剛從公用文件夾拋出500頁,記錄此:
Rendered rescues/_trace (39.0ms)
Rendered rescues/_request_and_response (1.0ms)
Rendering rescues/layout (internal_server_error)
/!\ FAILSAFE /!\ Fri Dec 30 16:59:58 +0200 2011
Status: 500 Internal Server Error
Can't connect to MySQL server on 'localhost' (10061)
c:/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:620:in `real_connect'
c:/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:620:in `connect'
c:/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:203:in `initialize'
問:是否可以處理或搶救這500錯誤,所以我可以有這樣的事情:
rescue_from SomeGlobalError do |ex|
respond_to do |format|
format.html { ... }
format.all { ... }
end
end
這已在here中突出顯示,但答案是錯誤的。你無法從控制器中解救出這件事情,那個問這個問題的人很傷心:「它沒有事件到達控制器......它在某處失效:active_record」
所以我仍然在尋找解決方案。任何幫助傢伙?
這將如何幫助? – Filip 2011-12-30 15:31:33
它會自動重新連接連接,如果服務器再次可用,應用程序將工作! – davidb 2011-12-30 15:36:04
不錯。但我在問另一件事。當我的Mysql服務關閉時,我需要返回不同類型的響應。當它的http然後它確定返回public/500.html但如果它的JS例如我想呈現:text =>「Mysql消失」,:status => 500或smithng像這樣。有關於此的任何想法? – Filip 2011-12-30 15:38:43