Почему мой python файл не может загрузить приложение в uwsgi flask? - PullRequest
0 голосов
/ 20 февраля 2020

Я прочитал приведенные ниже вопросы, связанные с uwsgi, и, что интересно, пока что ничего не помогло:

Похоже, мне нужно импортировать app as application as uWSGI пытается найти переменную приложения.

from tf_api import create_app as application

if __name__ == "__main__":
    application = application()
    application.run()
else:
    print("---------------------->", __name__)
    application = application()

Когда я запускаю следующую команду:

uwsgi --socket 0.0.0.0:80 --protocol=tcp -w wsgi:app

Идет к else части и выводит :

----------------------> wsgi
2020-02-20 14:25:22,168 [tf_core] Initialized! [testing=False]
2020-02-20 14:25:22,176 [tf_api] {"msg": "Initialized! Testing: False", "logger_name": "tf_api", "log_level": "DEBUG", "timestamp": "2020-02-20T14:25:22.176664"}
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 27143, cores: 1)

Некоторые журналы печатаются из приложения, затем печатается no app loaded!

Когда я помещаю application.run(host='0.0.0.0') в другое, кажется, что приложение запускается работает, но на flask порт по умолчанию 5000 не на uWSGI:

----------------------> wsgi
2020-02-20 14:36:57,333 [tf_core] Initialized! [testing=False]
2020-02-20 14:36:57,339 [tf_api] {"msg": "Initialized! Testing: False", "logger_name": "tf_api", "log_level": "DEBUG", "timestamp": "2020-02-20T14:36:57.339723"}
 * Serving Flask app "tf_api" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
2020-02-20 14:36:57,405 [werkzeug]  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
2020-02-20 14:36:57,406 [werkzeug]  * Restarting with stat
unable to load configuration from /usr/local/lib/python3.6/dist-packages/tf_api/uwsgi

НО это выдает ошибку, связанную с unable to load configuration from. created_app возвращает app. Как вы думаете, почему вы не нашли app в uswgi?

1 Ответ

0 голосов
/ 20 февраля 2020

Когда в команде uwsgi я использовал -w wsgi:app, мне пришлось переименовать код ниже:

application = application()

в:

app = application()

Без app.run(), поскольку uWSGI само запускает приложение flask и оно не требуется.

...