Наблюдение за приложением virtualenv django через руководителя - PullRequest
47 голосов
/ 30 июня 2011

Я пытаюсь использовать супервизор для управления моим проектом django, использующим gunicorn внутри virtualenv. Мой файл conf выглядит так:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
process_name=%(program_name)s
user=www-data
autostart=false
stdout_logfile=/var/log/gunicorn_diasporamas.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=2
stderr_logfile=/var/log/gunicorn_diasporamas_errors.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=2enter code here

Проблема в том, что мне нужен супервизор для запуска команды после того, как она запустила 'source bin / activ' в моем virtualenv. Я бродил по Google, пытаясь найти ответ, но ничего не нашел.

Примечание: я не хочу использовать virtualenvwrapper

Любая помощь, пожалуйста?

1 Ответ

82 голосов
/ 30 июня 2011

Документация для сценария активации virtualenv гласит, что он изменяет только переменную среды PATH, в этом случае вы можете сделать:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin"
...

Начиная с версии 3.2 вы можете использовать расширение переменной для сохранения существующего PATH тоже:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin:%(ENV_PATH)s"

...

...