Estoy ejecutando una aplicación Django con Gunicorn en Heroku. ¿Qué significa este error en mi archivo de registro de Heroku?

StackOverflow https://stackoverflow.com/questions/8810506

  •  26-10-2019
  •  | 
  •  

Pregunta

Estoy tratando de usar Gunicorn con mi aplicación Django en Heroku. Seguí las instrucciones aquí: http://devcenter.heroku.com/articles/django#using_a_different_wsgi_server. Parece que Gunicorn está ejecutando, porque los registros lo indican. Sin embargo, no me gusta ver mensajes de error que no entiendo en mis archivos de registro, y al revisar los registros, vi la línea que lee "Error R12 (Tiempo de espera de salida) -> El proceso no pudo salir dentro de los 10 segundos de Sigterm. "Y luego" proceso de detención con Sigkill ". Mi aplicación parece estar funcionando bien en la URL esperada, por lo que esta no es una emergencia, pero tengo curiosidad por saber lo que está sucediendo. Gracias.

2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from up to bouncing
2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from bouncing to created
2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from created to starting
2012-01-10T20:56:39+00:00 heroku[web.1]: Stopping process with SIGTERM
2012-01-10T20:56:39+00:00 heroku[web.1]: Starting process with command `python blossom/manage.py run_gunicorn -b "0.0.0.0:27470" -w 3`
2012-01-10T20:56:40+00:00 app[web.1]: Validating models...
2012-01-10T20:56:40+00:00 app[web.1]: Django version 1.3.1, using settings 'blossom.settings'
2012-01-10T20:56:40+00:00 app[web.1]: 
2012-01-10T20:56:40+00:00 app[web.1]: Server is running
2012-01-10T20:56:40+00:00 app[web.1]: 0 errors found
2012-01-10T20:56:40+00:00 app[web.1]: Quit the server with CONTROL-C.
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Starting gunicorn 0.13.4
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Listening at: http://0.0.0.0:27470 (3)
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Using worker: sync
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [6] [INFO] Booting worker with pid: 6
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [7] [INFO] Booting worker with pid: 7
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [8] [INFO] Booting worker with pid: 8  
2012-01-10T20:56:41+00:00 heroku[web.1]: State changed from starting to up
2012-01-10T20:56:48+00:00 heroku[web.1]: Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM
2012-01-10T20:56:48+00:00 heroku[web.1]: Stopping process with SIGKILL
2012-01-10T20:56:50+00:00 heroku[web.1]: Process exited
¿Fue útil?

Solución

Básicamente lo que dice en la lata. En la pila de Heroku, un proceso siempre termina con un Sigterm, que le dice al proceso que se cierre con gracia, y le da diez segundos para hacerlo.

Si esto no ha terminado en 10 segundos, obtienes un error R12 y un sigkill, que es esencialmente una muerte.

Ahora, por qué esto sucede aquí no está completamente claro ya que los registros no regresan lo suficientemente lejos, pero puedes ver que el signo ocurre a las 20:56:39

Otros consejos

No hay suficiente registro para mostrar su problema con la certeza (el error R12 puede significar una serie de cosas). Y para que conste, no estoy ejecutando Gunicorn. Dicho esto, tuve un problema similar a esto.

Resulta que Cedar-Stack no le gusta que mencione aplicaciones en la sección Installed_Apps de settings.py si no hay un módulo para esa aplicación en ningún otro lugar del proyecto.

Por lo general, codifico mi aplicación en Installed_Apps antes de comenzar a codificarla en Views.py, y el servidor Django local no se queja, así que me acostumbré a hacerlo. Desafortunadamente, se rompe esa pila de cedro.

Cuando comenté la aplicación que no tenía un módulo en ningún otro lugar del proyecto y empujó la nueva versión, comenzó a funcionar nuevamente de inmediato.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top