Супервайзер не работает с Gunicorn + Flask
Я пытаюсь запустить Gunicorn из Supervisor в системе Ubuntu 12.04. Gunicorn запускает приложение Flask (простой веб-сервис REST, протестированный с Flask 'встроенный сервер). Я установил Gunicorn путем клонирования репозитория GIT, пытаясь избежатьapt-get install ' потому что он запускает сервер Gunicorn при установке. Я не хочу, чтобы он работал, он будет запущен только супервизором.
Так что после установки, если я попробую:
cd /usr/local/bin
gunicorn my_app:app -c /path/to/gu_config_file
Gunicorn работает. Тогда я убиваю это. Обратите внимание, файл конфигурации без расширения, потому что с '.py» расширение не работает для меня. Поэтому я редактирую Supervisor 'S-файл конфигурации, например:
[program:gunicorn]
command=/usr/local/bin/gunicorn my_app:app -c /path/to/.gu_setup
directory=/usr/local/bin/
autostart=true
autorestart=true
redirect_stderr=True
И обновите изменения в Supervisor:
supervisorctl reread
# gunicorn: changed
supervisorctl update
# gunicorn: stopped
# gunicorn: updated process group
Обнаруживает изменения в файле и работает для программы Gunicorn. Хорошо, но затем я пытаюсь запустить это:
supervisorctl start gunicorn
Получение раздражает:
gunicorn: ERROR (abnormal termination)
Проверка руководителяжурнал s:
2013-03-08 13:07:22,378 INFO spawned: 'gunicorn' with pid 3355
2013-03-08 13:07:22,916 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:23,918 INFO spawned: 'gunicorn' with pid 3361
2013-03-08 13:07:24,492 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:26,496 INFO spawned: 'gunicorn' with pid 3367
2013-03-08 13:07:27,078 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:30,085 INFO spawned: 'gunicorn' with pid 3373
2013-03-08 13:07:30,628 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:31,630 INFO gave up: gunicorn entered FATAL state, too many start retries too quickly
Я не знаю, что делать сейчас ... Можешь мне помочь? Большое спасибо!
РЕДАКТИРОВАТЬ: извините, я забыл сказать, что я экспортировал переменную PYTHONPATH как: '
export PYTHONPATH=/usr/local/bin:/usr/local/lib/project
my_app» находится в / usr / local / bin. Путь lib необходим для других модулей. Я также отредактировал конфигурационный файл Supervisor, чтобы указать переменную среды, например:
environment=PYTHONPATH=/usr/local/bin:/usr/local/lib/project/
Но не сработало.
РЕДАКТИРОВАТЬ 2: как @robertklep предлагает в своем комментарии, это журнал 'вывод:
Traceback (most recent call last):
File "/tmp/gunicorn/gunicorn/arbiter.py", line 485, in spawn_worker
worker.init_process()
File "/tmp/gunicorn/gunicorn/workers/base.py", line 100, in init_process
self.wsgi = self.app.wsgi()
File "/tmp/gunicorn/gunicorn/app/base.py", line 103, in wsgi
self.callable = self.load()
File "/tmp/gunicorn/gunicorn/app/wsgiapp.py", line 25, in load
return util.import_app(self.app_uri)
File "/tmp/gunicorn/gunicorn/util.py", line 369, in import_app
__import__(module)
File "/usr/local/bin/my_app.py", line 4, in
import const
ImportError: No module named const
2013-03-08 13:29:35 [3670] [INFO] Worker exiting (pid: 3670)
2013-03-08 13:29:36 [3665] [INFO] Shutting down: Master
2013-03-08 13:29:36 [3665] [INFO] Reason: Worker failed to boot.
Const» модуль находится в / usr / local / lib / project ...