在heroku上托管的Rails应用程序:错误R12(退出超时)

Gui*_*ume 16 alert ruby-on-rails heroku timeoutexception logentries

我在heroku上托管了一个Rails 3.1.4应用程序.我添加了logentries附加组件.我没有触及警报的默认配置,现在我每隔几小时收到一次警报:"退出超时":

Exit timeout: Heroku/myappname

2012-03-23 11:01:41.723
168 <40>1 2012-03-23T11:01:41+00:00 d. heroku web.1 - - Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM

You are receiving this email because your Logentries alarm "Exit timeout"
has been triggered.

In context:
2012-03-23 11:01:28.878 95 <40>1 2012-03-23T11:01:28+00:00 d. heroku web.1 - - Idling
2012-03-23 11:01:31.740 118 <40>1 2012-03-23T11:01:31+00:00 d. heroku web.1 - - Stopping process with SIGTERM
2012-03-23 11:01:41.723 168 <40>1 2012-03-23T11:01:41+00:00 d. heroku web.1 - - Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM
Run Code Online (Sandbox Code Playgroud)

日志或此电子邮件警报不会给我任何有用的东西来开始寻找此问题.

我的流量非常低(应用程序仍处于私有测试阶段).我怀疑是heroku关闭了应用程序,我的应用程序没有按预期响应SIGTERM信号.

我在应用程序中没有任何花哨的东西(例如使用Heroku Scheduler启动的rake任务).
唯一与众不同的是使用gem apn_on_rails,它打开了与Apple的APN服务器的连接.

你知道是什么原因造成的吗?我应该忽略这个并关闭警报吗?

doc*_*hat 6

如果您使用webrick在Heroku上运行应用程序,则应切换到使用"瘦":请参阅https://devcenter.heroku.com/articles/rails3#webserver

这从我的日志中删除了所有出现的R12错误.

  • 我正在使用根据Heroku的指南和建议配置配置的Unicorn,我也有同样的问题.有人知道解决方案吗? (7认同)