Kierownik nie pracuje z Gunicorn + Flask

Próbuję uruchomić Gunicorn od Supervisora ​​w systemie Ubuntu 12.04. Gunicorn uruchamia aplikację Flask (prosta usługa internetowa REST testowana z wbudowanym serwerem Flask). Zainstalowałem Gunicorn, klonując repozytorium GIT, próbując uniknąć instalacji apt-get, ponieważ uruchamia on serwer Gunicorn podczas instalacji. Nie chcę go uruchamiać, będzie uruchamiany tylko przez Supervisora.

Więc po zainstalowaniu, jeśli spróbuję:

cd /usr/local/bin
gunicorn my_app:app -c /path/to/gu_config_file

Gunicorn działa. Potem go zabiję. Uwaga: plik konfiguracyjny bez rozszerzenia, ponieważ rozszerzenie „.py” nie działa dla mnie. Więc edytuję plik konfiguracyjny Supervisora ​​w następujący sposób:

[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

I zaktualizuj zmiany w Supervisor:

supervisorctl reread
# gunicorn: changed
supervisorctl update
# gunicorn: stopped
# gunicorn: updated process group

Wykrywa zmiany w pliku i działa w programie Gunicorn. Ok, ale potem staram się go uruchomić:

supervisorctl start gunicorn

Irytujące:

gunicorn: ERROR (abnormal termination)

Sprawdzanie dziennika nadzorcy:

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

Nie wiem co teraz zrobić ... Czy możesz mi pomóc? Wielkie dzięki!

EDYCJA: przepraszam zapomniałem powiedzieć, że wyeksportowałem zmienną PYTHONPATH jako:

export PYTHONPATH=/usr/local/bin:/usr/local/lib/project

'my_app' jest w / usr / local / bin. Ścieżka lib jest potrzebna dla innych modułów. Zmodyfikowałem także plik konfiguracyjny Supervisora, aby wskazać zmienną środowiskową, taką jak:

environment=PYTHONPATH=/usr/local/bin:/usr/local/lib/project/

Ale nie działa.

EDYCJA 2: jak sugeruje @robertklep w swoim komentarzu, jest to wyjście dziennika:

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 <module>
    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.

Moduł „const” znajduje się w / usr / local / lib / project ...

questionAnswers(2)

yourAnswerToTheQuestion