2012-03-23 24 views
16

Tengo una aplicación Rails 3.1.4 alojada en heroku. He agregado el logentries add-on. no toqué la configuración por defecto a las alertas, y ahora reciben cada pocas horas una alerta: 'Salir de tiempo de espera':Aplicación Rails alojada en heroku: Error R12 (tiempo de espera de salida)

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 

los registros ni esta alerta de correo electrónico no me dan nada útil para empezar a buscar este problema.

Tengo un tráfico muy bajo (la aplicación aún se encuentra en una versión beta privada). Sospecho que es heroku apagar la aplicación, y mi aplicación no responde como se esperaba a la señal SIGTERM.

No tengo nada elegante en la aplicación (como una tarea de rake iniciada con Heroku Scheduler).
Lo único ligeramente fuera de lo común es el uso de la gema apn_on_rails, que abre una conexión a los servidores APN de Apple.

¿Tiene alguna idea de lo que está causando esto? ¿Debo ignorar esto y desactivar la alerta?

+0

Por un lado, es normal: Heroku mata e inicia los rieles según las necesidades. Sin embargo, no he descubierto cómo dejar de recibir correos electrónicos sobre esto. –

+1

@TheDoctorWhat: Dejar de recibir correos electrónicos es fácil: vaya a la configuración de entradas de registro de su aplicación, seleccione Alertas y elimine la alerta de Exit Timeout. Heroku mata la aplicación, estoy de acuerdo con eso. Pero parece esperar que el proceso se cierre dentro de los 10 segundos de recibir una señal SIGTERM, lo que no sucede. ¿Esto es normal? ¿Hay algo para cambiar? – Guillaume

+0

Ah, lo encontré ... En realidad son "Eventos" y no "Alertas" ... al menos en la interfaz heroku para logentries. ¡Gracias! –

Respuesta

6

Si está utilizando WEBrick para ejecutar su aplicación en Heroku, debe pasar a utilizar 'delgada': Ver https://devcenter.heroku.com/articles/rails3#webserver

Esto elimina todas las apariciones del error R12 de mis registros.

+0

Genial, gracias. Voy a intentarlo. – Guillaume

+1

Guillaume, debe aceptar esta respuesta si le funcionó. Tuve el mismo problema y la solución de The Doctor What fue exactamente lo que el Doctor ordenó :) – joshuacronemeyer

+0

Ahora, dado el reciente zumbido, probablemente debería cambiar a Unicorn. [Ver aquí.] (Https://blog.heroku.com/archives/2013/4/3/routing_and_web_performance_on_heroku_a_faq) – rapcal

Cuestiones relacionadas