【问题标题】:Force to reconnect MySQL in Rails强制在 Rails 中重新连接 MySQL
【发布时间】:2014-12-10 23:21:28
【问题描述】:

如何在 Rails 应用程序中强制 MySQL 重新连接?我想定期或在“MySQL 服务器已消失”等数据库异常情况下执行此操作。

我找到了ActiveRecord::Base.remove_connection,但正如它所写的那样,应该为某些模型而不是整个应用程序调用它。

【问题讨论】:

    标签: mysql ruby-on-rails activerecord reconnect


    【解决方案1】:

    当我通过 Heroku 使用变量中的一堆对象运行 Rails 控制台然后失去我的数据库连接时,重新启动 Rails 控制台是一个巨大的痛苦。

    以下是我认为不适合放入您的实际应用程序的代码,但它暂时克服了在控制台中经常遇到的Mysql2::Error: closed MySQL connection

     ActiveRecord::Base.connection.reconnect!
    

    【讨论】:

      【解决方案2】:

      here 所述,在您的 database.yml 中使用 reconnect = true 怎么样?

      【讨论】:

      • 不起作用。我在 MySQL2 客户端中断开连接,然后“内存不足”。然后 WEBrick/Puma 停止。
      猜你喜欢
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2013-06-20
      相关资源
      最近更新 更多