小编Vid*_* Ha的帖子

如何让Rails在数据库停机后自动重新建立数据库连接

在数据库停机后,Rails将首先抛出此错误一次:

ActiveRecord :: StatementInvalid:NativeException:org.postgresql.util.PSQLException:连接被拒绝.检查主机名和端口是否正确以及postmaster是否接受TCP/IP连接.

从那时起,即使在数据库备份之后,每次调用数据库都会出现以下错误:

ActiveRecord :: StatementInvalid:ActiveRecord :: JDBCError:此连接已关闭.

为了让服务器再次运行,我必须重新启动rails服务器.这对我们来说并不理想,因为我们的产品工程师希望对我们的数据库进行维护,而不必恢复依赖于数据库的所有服务.所以,我想知道 - 有没有办法自动让Rails尝试重新建立数据库连接或建议的方式来获得这种行为?

我尝试过的事情:

我已经尝试在我的数据库选项中将reconnect设置为true,然后我可以杀死单个数据库连接,rails将重新建立连接.但是,它不会在数据库中断之后.我发现从命令控制台我可以通过调用来恢复连接

的ActiveRecord :: Base的:: establish_connection

所以也许找到一个干净的地方让rails调用上面的命令,这会有用吗?有什么建议?

sql database-connection ruby-on-rails

15
推荐指数
1
解决办法
5872
查看次数

标签 统计

database-connection ×1

ruby-on-rails ×1

sql ×1