#python #flask
Вопрос:
Я новичок в среде python и разработал инициализацию python с помощью flask и некоторых небольших функций. И я создаю gunicorn.service и gunicorn.socket в systemd и подключаю его к nginx с помощью сокета unix. Он успешно работает. Но проблема в том, что если мы изменим код, например php или node (с наблюдателем pm2), он не сможет изменить код во время запуска приложения. В этом случае я могу видеть изменения только после выполнения systemctl restart gunicorn
команды. в противном случае его не отображают измененные коды
Мой wsgi.py
from app import app as application
if __name__ == "__main__":
application.run()
Ответ №1:
Это ожидаемо. На самом деле, при разработке для flask вы должны запустить его в режиме разработки, который подхватит ваши изменения и перезапустит приложение.
export FLASK_APP=app
$ flask run
В «Быстром старте» есть несколько хороших примеров
Комментарии:
1. Как мы запускаем экспорт FLASK_ENV=разработка в gunicorn
2. Это команды оболочки, которые вы запускаете с терминала для запуска flask в режиме разработки. Первый задает переменную среды, а второй запускает встроенный сервер разработки flask. Это предназначено только для разработки и будет поддерживать обновление вашего приложения по мере внесения изменений в код, чтобы вам не нужен был gunicorn. Чтобы увидеть изменения в gunicorn, вам нужно перезапустить приложение. По сути, это то, что делает для вас сервер разработки flask в режиме разработки.