Je suis en cours d'exécution d'une application django avec gunicorn sur Heroku. Que fait cette erreur dans mon heroku fichier journal moyenne?

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

  •  26-10-2019
  •  | 
  •  

Question

Je suis en train d'utiliser gunicorn avec mon application django sur Heroku. Je suivais les instructions ici: http://devcenter.heroku.com/articles/django#using_a_different_wsgi_server. Il semble que gunicorn runing, parce que les journaux indiquent qu'il. Cependant, je ne aime pas voir les messages d'erreur que je ne comprends pas dans mes fichiers journaux, et tout en examinant les journaux que j'ai vu la ligne qui lit « Erreur R12 (Timeout de sortie) -> Échec du processus de sortie dans les 10 secondes de SIGTERM "puis « processus d'arrêt avec SIGKILL ». Mon application semble fonctionner très bien à l'URL attendue, donc ce n'est pas une urgence, mais je suis curieux de ce qui se passe. Merci.

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
Était-ce utile?

La solution

En fait ce qu'il dit sur l'étain. Dans la pile Heroku un processus est toujours terminé par un SIGTERM, qui raconte le processus d'arrêter avec grâce, et il donne dix secondes pour le faire.

Si cela n'a pas mis fin à moins de 10 secondes, vous obtenez alors une erreur R12 et un SIGKILL, qui est essentiellement une mise à mort.

Maintenant, pourquoi ce qui se passe ici est pas tout à fait clair que les journaux ne vont pas suffisamment loin, mais vous pouvez voir le SIGTERM passe à 20:56:39

Autres conseils

Il n'y a pas assez journal pour montrer votre problème avec certitude (erreur R12 peut signifier un certain nombre de choses). Et pour mémoire, je ne suis pas en cours d'exécution gunicorn. Cela dit, j'ai eu un problème similaire à ce sujet.

avère que le cèdre pile ne mentionniez pas comme vous des applications dans la section INSTALLED_APPS de settings.py s'il n'y a pas un module pour cette application partout ailleurs dans le projet.

Je code habituellement mon application dans INSTALLED_APPS avant même de commencer à coder dans views.py, et le serveur DJANGO local ne se plaint pas, donc je me suis habitué à le faire. Malheureusement, il se casse que pile de cèdre.

Quand je commentais sur l'application qui n'avait pas un module nulle part ailleurs dans le projet et a poussé la nouvelle version haut, il a commencé à travailler à nouveau tout de suite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top