gpt4 book ai didi

mysql - 是否有可能在 Rails 中从 MySQL 关闭中解救出来?

转载 作者:行者123 更新时间:2023-11-30 23:51:21 27 4
gpt4 key购买 nike

当运行 web 服务并试图停止 MySql Rails 时首先抛出:

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 中突出显示但答案是错误的。你无法从 Controller 中拯救这个东西,问这个问题的人很伤心“它没有到达 Controller ......它在 :active_record 的某个地方失败了”

所以我还在寻找解决方案。有帮助的人吗?

最佳答案

将此添加到您的config/database.yml:

reconnect: true

您需要将它添加到每个环境中!您无法挽救 ActiveRecord::StatementInvalid,因为它不仅用于丢失连接或超时,还用于无效语句,...

关于mysql - 是否有可能在 Rails 中从 MySQL 关闭中解救出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com