Как остановить колбу от инициализации дважды в режиме отладки?
при построении сервиса Flask в Python и установке режима отладки, сервис Flask инициализируется дважды. При инициализации загружает кэш и тому подобное, это может занять некоторое время. Необходимость делать это дважды раздражает, когда в режиме разработки (отладки). Когда debug выключен, служба Flask инициализируется только один раз.
Как остановить колбу от инициализации дважды в режиме отладки?
2 ответов:
самое простое, что здесь можно было бы добавить
use_reloader=Falseна ваш вызовapp.run- это:app.run(debug=True, use_reloader=False)кроме того, вы можете проверить значение
WERKZEUG_RUN_MAINв среду:if os.environ.get("WERKZEUG_RUN_MAIN") == "true": # The reloader has already run - do what you want to do hereоднако условие немного более запутано, когда вы хотите, чтобы поведение происходило в любое время за исключением в процессе погрузки:
if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true": # The app is not in debug mode or we are in the reloaded process
можно использовать
before_first_requestприпев:@app.before_first_request def initialize(): print "Called only once, when the first request comes in"
Comments