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