Супервизор не перезагружает Gunicorn должным образом с проектом Django

Я использую Supervisor для перезагрузки Gunicorn при продвижении Django проекта в продакшн :

Workflow :

          " && python manage.py migrate"\
          " && python manage.py collectstatic --noinput"\
          " && supervisorctl restart frontdesk-gunicorn"\
          " && exit"

Конфигурация супервизора :

   [program:project-gunicorn]
    command=/home/gaetangr/project/myprojectenv/bin/gunicorn config.wsgi:application
    user = gaetangr
    directory = /home/gaetangr/project
    autostart = true
    autorestart = true

Но чаще всего, чтобы все изменения распространились, мне приходится делать sudo :

systemctl restart gunicorn

Насколько я понимаю, команда от супервизора должна быть точно такой же.

Есть идеи?

После некоторого времени я понял это, так что вот, пожалуйста.

Первоначально я использовал service для запуска Gunicorn, так было некоторое время, но потом я нашел вот это :

superviserd управляет процессами, создавая subprocesses. Если вы запустите gunicorn с помощью systemctl, то superviserd ничего не будет знать об этом gunicorn и не сможет его перезапустить. Используйте только одну систему управления процессами - либо supervisord, либо systemd.

В моем случае мне пришлось удалить службу, запускающую Gunicorn, а также сокет и обновить конфигурацию Nginx, чтобы удалить ссылку прокси-сервиса на Gunicorn.

Вернуться на верх