2012-03-23 12 views
16

Mam aplikację Rails 3.1.4 hostowaną na heroku. Dodałem logentries add-on. nie dotykać domyślną konfigurację alertów, a ja teraz otrzymywać co kilka godzin alert: „Timeout Exit”:Aplikacja Railsów hostowana na heroku: błąd R12 (czas wyjścia)

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 

dzienniki ani to powiadomienie e-mail nie dają mi coś pożytecznego do rozpoczęcia poszukiwań ten przypadek.

Mam bardzo mały ruch (aplikacja nadal w prywatnej wersji beta). Podejrzewam, że to heroku zamyka aplikację, a moja aplikacja nie reaguje zgodnie z oczekiwaniami na sygnał SIGTERM.

nie mam niczego wyjątkowego w aplikacji (takich jak zadanie natarcia zainicjowanych Heroku Scheduler).
Jedyna rzecz, która jest nieco nietypowa, to użycie klejnotu apn_on_rails, który otwiera połączenie z serwerami APN Apple.

Czy masz pojęcie, co to powoduje? Czy powinienem to zignorować i wyłączyć alarm?

+0

Z jednej strony jest to normalne - Heroku zabija i zaczyna szyny w zależności od potrzeb. Jednak nie wiem, jak przestać otrzymywać e-maile na ten temat. –

+1

@TheDoctorCo to: Aby przerwać odbieranie wiadomości e-mail jest łatwe: przejdź do ustawień wpisów w dzienniku aplikacji, karty Alerty i usuń alert dotyczący limitu czasu wyjścia. Heroku zabija aplikację, nie przeszkadza mi to. Wydaje się jednak, że proces ten zostanie zamknięty w ciągu 10 sekund od otrzymania sygnału SIGTERM, którego nie ma. Czy to normalne? Czy jest coś do zmiany? – Guillaume

+0

Ach, znalazłem ... To w rzeczywistości "zdarzenia", a nie "alarmy" ... przynajmniej w interfejsie heroku dla logowni. Dzięki! –

Odpowiedz

6

Jeśli używasz serwer WEBrick aby uruchomić aplikację na Heroku, należy przełączyć się na używanie „cienki”: Zobacz https://devcenter.heroku.com/articles/rails3#webserver

To usunięte wszystkie wystąpienia błędu R12 z moich logów.

+0

Świetnie, dziękuję. Spróbuję. – Guillaume

+1

Guillaume, powinieneś zaakceptować tę odpowiedź, jeśli to zadziałało. Miałem ten sam problem i The Doctor What's solution było dokładnie tym, co zamówił lekarz :) – joshuacronemeyer

+0

Teraz, biorąc pod uwagę ostatnie szumy, powinieneś przełączyć się na Unicorn. [Patrz tutaj.] (Https://blog.heroku.com/archives/2013/4/3/routing_and_web_performance_on_heroku_a_faq) – rapcal