UWSGI не запускает приложение фляги при отладке из-за постфорка - PullRequest
0 голосов
/ 15 мая 2019

Я установил базовое приложение Flask, которое использует pydevd для удаленной отладки нашего приложения на Python.Мы также используем метод postfork() от uwsgidecorators.Код выглядит примерно так

from flask import Flask

import sys
sys.path.append('pycharm-debug.egg')  # replace by pycharm-debug.egg for Python 2.7
import pydevd
# the following line can be copied from "Run/Debug Configurations" dialog
pydevd.settrace('localhost', port=4444, stdoutToServer=True, stderrToServer=True)


print __name__

application = Flask(__name__)


@application.route('/')
def hello_world():
    return 'Hello World!'


def initialize():
    print "This is called"


try:
    from uwsgidecorators import postfork
    postfork(initialize)
except ImportError:
    pass


if __name__ == '__main__':
    application.run(host='0.0.0.0', port=8055)

Файл uWSGI.ini выглядит так

[uwsgi]
module = app
socket = 0.0.0.0:8000
master = true

Теперь, когда я пытаюсь запустить uwsgi ./uwsgi.ini, отладчик останавливается на первой строкет.е. на print __name__ но приложение не запускается.Следует отметить, что postfork () не вызывает метод intialize.После некоторых проб и ошибок я смог запустить приложение, если я удалил pydev.settrace, мне нужно иметь возможность отладить приложение.Кто-нибудь знает, что здесь происходит?

...