【发布时间】:2012-01-19 18:55:07
【问题描述】:
Heroku 支持人员表示,这与他们在共享数据库上的 libssl 版本有关,但我们也曾在专用数据库上的项目中遇到过这种情况。
基本上,在我们迁移到新 Cedar 堆栈且 Unicorn 配置为 3 个工作人员的每个项目中,此错误经常发生(接近于部署后):
错误信息:
ActiveRecord::StatementInvalid: PGError: SSL SYSCALL error: EOF detected : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.at
Where:
some_controller#index
[PROJECT_ROOT]/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb, line 505
除了可能等待我们升级共享数据库服务器需要多长时间之外,heroku 还没有任何答案*,我在 google 上没有找到任何东西。
他们还建议这与 unicorn 的工作人员重叠有关,我们应该切换到 Thin,但性能提升非常值得偶尔出现错误(我认为!)。我希望有一种方法可以配置 Unicorn 以防止重叠。
有没有人遇到过这种情况,如果有,您采取了哪些措施来解决它?谢谢!
*不是他们的真话,只是我在他们回应后的感受。
【问题讨论】:
-
是他们的支持团队说的话吗?如果是这样,那就太不专业了……
-
我遇到了同样的错误。我正在与 3 名工人一起使用独角兽。
-
不,这不是他们的原话,只是他们给我的感觉:不确定它何时会更新,它可能无法解决问题。他们说我们应该尝试专用数据库,但我们在专用的应用程序上看到了同样的错误。
-
为了将来参考,在我们将
preload_app true添加到 unicorn.rb 后,这个错误开始发生在我们身上。 -
是的,New Relic 插件需要 preload_app true
标签: ruby-on-rails ruby-on-rails-3 postgresql heroku unicorn