Подтвердить что ты не робот

Контроль приложения virtualenv django через супервизора

Я пытаюсь использовать супервизор, чтобы управлять моим проектом 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

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

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

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

4b9b3361

Ответ 1

документация для активации virtualenv script говорит, что он только изменяет переменную среды 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"

...