Как запустить приложение с флягой в пушки, если я использовал шаблон приложения factory?

Я написал флеш-приложение, используя шаблон приложения factory. Это означает, что он не создает экземпляр приложения автоматически при его импорте. Для этого вам нужно вызвать create_app. Теперь, как я могу запустить его в пушких?

Ответ 1

Создайте файл wsgi.py в вашем проекте со следующим содержимым, а затем укажите Gunicorn на него.

from my_project import create_app

app = create_app()
gunicorn -w 4 my_project.wsgi:app
# -w 4 specifies four worker processes

Gunicorn позволяет указывать вызов функции, например, my_project:create_app(). В большинстве случаев вы можете пропустить создание файла wsgi.py и сообщить Gunicorn, как создать ваше приложение напрямую.

gunicorn -w 4 my_project:create_app()

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

gunicorn -w 4 "my_project:create_app()"

Ответ 2

Вам необходимо создать create_app() с определенной заводской конфигурацией в wsgi.py, как manage.py или runserver.py. Смотрите код ниже:

from your_app import create_app

app = create_app(os.getenv('FLASK_CONFIG') or 'dev')

if __name__ == "__main__":
    app.run()

И затем вы можете запустить команду gunicorn -w 4 -b 0.0.0.0:5000 wsgi:app для запуска вашего приложения.