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

时间:2012-03-23 11:59:04

标签: ruby-on-rails heroku alert timeoutexception logentries

我在heroku上托管了一个Rails 3.1.4应用程序。我添加了logentries add-on。 我没有触及警报的默认配置,现在我每隔几小时收到一次警报:“退出超时”:

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

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

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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