Я написал флеш-приложение, используя шаблон приложения factory. Это означает, что он не создает экземпляр приложения автоматически при его импорте. Для этого вам нужно вызвать create_app. Теперь, как я могу запустить его в пушких?
Как запустить приложение с флягой в пушки, если я использовал шаблон приложения factory?
Ответ 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
для запуска вашего приложения.