heroku rails上的Postgres连接超时错误

时间:2014-07-30 07:07:57

标签: ruby-on-rails ruby postgresql heroku

我已经查看了有关stackoverflow的许多问题,但还没有找到解决我问题的方法。

我使用默认的webrick服务器在heroku上运行rails 4.0.2并且它工作正常,除了我会间歇性地得到这些错误:

  

ActiveRecord :: ConnectionTimeoutError(无法获取数据库   连接在5.000秒内(等待5.000秒)):

它会使整个网站停留很长一段时间。

我从其他答案中读到,使用rails 4.0.x存在问题,因此我已升级到rails 4.1.4并将查看问题是否仍在继续。

任何有关导致此问题以及如何解决此问题的帮助将不胜感激。

更新

因此,根据heroku文档以及我从相关问题中找到的内容,我已将myoku生产网络服务器从webrick升级到独角兽,并使用此处指定的默认配置:

https://devcenter.heroku.com/articles/rails-unicorn

也在这里:

https://devcenter.heroku.com/articles/concurrency-and-database-connections

我会观察并查看问题是否继续发生。

1 个答案:

答案 0 :(得分:1)

这应该在各种4.1.x版本中修复;但它实际上只是固定在4.2。我有这个问题很长一段时间,升级到rails 4.2似乎已经修复了它,最后!

  

ActiveRecord :: ConnectionTimeoutError - 在master / future 4.2.0(#14360)中,在正常运行的应用程序中不再出现5.000秒内(池耗尽)无法获得数据库连接。如果你有比连接更多的线程,并且这些线程挂在连接上的时间太长,它仍然很可能耗尽你的池。

https://github.com/rails/rails/issues/12867