Есть ли альтернатива при использовании супервайзера с Gunicorn?

#gunicorn #supervisord

Вопрос:

Я создаю приложение Flask и использую Nginx и Gunicorn в виртуальной среде. Когда я запускаю Gunicorn, gunicorn app:app все работает нормально. Затем, когда я активирую Супервизора, чтобы держать gunicorn активным, он выдает мне ошибку 500. Я читаю в своем журнале в var/log/, что ошибка возникает, когда я пытаюсь открыть файл, который должен был быть создан после subprocess.run(command, capture_output=True, shell=True) , поэтому эта строка выполняется неправильно.

Есть ли альтернатива супервизору, чтобы мое приложение работало, когда моя замазка закрыта?

Спасибо.

Комментарии:

1. После долгих исследований я обнаружил, что можно использовать systemd, Upstart, Procfile и Runit, вот документация. docs.gunicorn.org/en/stable/deploy.html . Тем не менее, я хотел найти более простой способ, который есть у гуникорна. когда вы звоните в gunicorn, например: приложение gunicorn:приложение. Вы можете просто использовать —daemon. Таким образом, вы можете создать приложение gunicorn:приложение-демон. Это приведет к тому, что ваша система продолжит работать. Возможно, это не лучший вариант, но, поскольку я все еще нахожусь в разработке, этого достаточно.

Ответ №1:

Я нашел ответ здесь.

https://docs.gunicorn.org/en/stable/deploy.html

В нем говорится, что одним из хороших вариантов является использование Runit.

Редактировать:

В итоге я использовал функцию Gunicorn под названием —deamon. Это похоже и делает все намного проще.