sql – 如何让Rails在数据库停机后自动重新建立数据库连接
数据库停机后,Rails将首先抛出此错误:
从那时起,每个数据库调用都具有以下错误,即使在数据库备份之后:
要使服务器再次运行,我必须重新启动rails服务器.这对我们来说不是理想的,因为我们的prod工程师希望对数据库进行维护,而不必备份依赖于数据库的所有服务.所以,我想知道 – 有没有办法自动获取Rails尝试重新建立数据库连接或推荐的方式来获得这种行为? 我试过的事情 我已经尝试在我的数据库选项中设置重新连接为true,因此,我可以杀死单个数据库连接,并且rails将重新建立连接.但是,数据库中断后不会.我发现从命令控制台我可以通过调用来恢复连接
所以也许找到一个干净的地方为rails来调用上面的命令这将工作?有什么建议么? 解决方法这是一个非常难看的解决方案,但我认为它应该有效.>将重新连接设置为true,就像您以前一样. def reconnect! clear_cache! ActiveRecord::Base.establish_connection end 需要更多的研究 检查它是否实际工作 如果您在ActiveRecord代码之外找到已经加载了该符号的地方,并且可以编辑其方法,然后将以下代码放在其中: class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::StatementPool def reconnect! clear_cache! ActiveRecord::Base.establish_connection end end 更重要的是,实际调用建立连接有点过分.可能会调用该方法中的重要内容,以避免一些开销. 让我知道这是否有帮助,如果你取得了进展. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |