Наблюдение за приложением 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

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

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

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

См. также:  Примечание: неопределенный индекс: родительский при добавлении множественного выбора в админке Sonata
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Oleiade

    В документации для скрипта активации 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"
    

    Кажется, работает :) читал что-то об управлении envs, но не нашел, как его применить. Спасибо, правда! person Oleiade; 01.07.2011

    @ serge-s @ michał-modzelewski Но разве это не перезапишет переменную окружения PATH? Если это так, это не повлияет на путь поиска других двоичных файлов, не найденных в этом каталоге. Например, в Ubuntu Linux PATH равно /home/user_name/bin:/home/user_name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin. Если какой-либо двоичный файл не найден в перезаписанном PATH, его следует искать в каталогах, указанных в исходном PATH. Есть ли способ добавить к пути в конфигурации супервизора (например, используя форматирование строки)? person Oleiade; 15.02.2017

    @LokeshMeher Этот ответ довольно старый. С тех пор супервизор добавил возможность использовать переменные среды в конфигурации. Я обновил ответ версией, которая включает исходный PATH. person Oleiade; 16.02.2017

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: