【发布时间】:2012-03-28 04:45:14
【问题描述】:
我在 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 服务器的连接。
您知道是什么原因造成的吗?我应该忽略这个并关闭警报吗?
【问题讨论】:
-
一方面,这很正常——Heroku 根据需要杀死并启动 Rails。但是,我还没有弄清楚如何停止收到有关此的电子邮件。
-
@TheDoctorWhat:停止接收电子邮件很简单:转到应用程序的日志条目设置,选项卡警报,然后删除退出超时警报。 Heroku 杀死了该应用程序,我对此表示满意。但它似乎希望进程在收到 SIGTERM 信号后 10 秒内关闭,但事实并非如此。这是正常的吗?有什么要改变的吗?
-
啊,我找到了……它实际上是“事件”而不是“警报”……至少在日志记录的 heroku 界面上。谢谢!
标签: ruby-on-rails heroku alert timeoutexception logentries