Я запускаю приложение Django с Gunicorn на Heroku. Что означает эта ошибка в моем файле журнала heroku? - PullRequest
1 голос
/ 11 января 2012

Я пытаюсь использовать gunicorn с моим приложением django на heroku.Я следовал инструкциям здесь: http://devcenter.heroku.com/articles/django#using_a_different_wsgi_server. Кажется, что gunicorn бежит, потому что журналы указывают это.Однако мне не нравится видеть сообщения об ошибках, которые я не понимаю, в моих файлах журналов, и просматривая журналы, я увидел строку, которая гласит «Ошибка R12 (Тайм-аут выхода) -> Процесс не смог завершиться в течение 10 секунд после SIGTERMи затем «остановка процесса с SIGKILL».Мое приложение работает нормально по ожидаемому URL, так что это не чрезвычайная ситуация, но мне просто интересно, что происходит.Спасибо.

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

Ответы [ 2 ]

3 голосов
/ 11 января 2012

В основном то, что написано на банке. В стеке Heroku процесс всегда завершается с помощью SIGTERM, который сообщает о корректном завершении процесса и дает ему десять секунд на это.

Если это не прекратилось в течение 10 секунд, вы получите ошибку R12 и SIGKILL, что по сути является убийством.

Теперь, почему это происходит здесь, не совсем понятно, поскольку журналы не уходят достаточно далеко, но вы можете видеть, что SIGTERM происходит в 20: 56: 39

0 голосов
/ 16 марта 2012

Журналу не хватает, чтобы с уверенностью показать вашу проблему (ошибка R12 может означать несколько вещей). И для справки, я не управляю Gunicorn. Тем не менее, у меня была похожая проблема с этим.

Оказывается, что cedar-stack не нравится, когда вы упоминаете приложения в разделе INSTALLED_APPS файла settings.py, если в этом проекте нет модуля для этого приложения где-либо еще в проекте.

Я обычно кодирую свое приложение в INSTALLED_APPS, прежде чем я даже начинаю кодировать его в views.py, и локальный сервер DJANGO не жалуется, поэтому я привык к этому. К сожалению, он ломает этот кедровый стек.

Когда я прокомментировал приложение, в котором больше нигде в проекте не было модуля, и запустил новую версию, оно сразу же начало работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...