Приложение Rails, размещенное на heroku: Ошибка R12 (Тайм-аут выхода) - программирование
Подтвердить что ты не робот

Приложение Rails, размещенное на heroku: Ошибка R12 (Тайм-аут выхода)

У меня есть приложение 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

Журналы и это сообщение электронной почты не дают мне ничего полезного, чтобы начать поиск этой проблемы.

У меня очень низкий трафик (приложение все еще находится в частной бета-версии). Я подозреваю, что герой выключает приложение, и мое приложение не реагирует так, как ожидалось, на сигнал SIGTERM.

У меня нет ничего интересного в приложении (например, задача rake, запущенная с планировщиком Heroku).
Единственное, что немного необычно, это использование gem apn_on_rails, которые открывают соединение с серверами Apple APN.

Есть ли у вас какие-либо идеи, что вызывает это? Должен ли я просто игнорировать это и отключить оповещение?

4b9b3361

Ответ 1

Если вы используете webrick для запуска вашего приложения на Heroku, вам следует переключиться на использование "тонкого": см. https://devcenter.heroku.com/articles/rails3#webserver

Это удалило все вхождения ошибки R12 из моих журналов.