Python で Flask サービスを構築し、デバッグ モードをオンに設定すると、Flask サービスは 2 回初期化されます。初期化でキャッシュなどが読み込まれると、しばらく時間がかかることがあります。開発 (デバッグ) モードでは、これを 2 回実行するのは面倒です。デバッグがオフの場合、Flask サービスは 1 回だけ初期化されます。
デバッグモードで Flask が 2 回初期化されるのを防ぐにはどうすればよいでしょうか?
ベストアンサー1
ここで行う最も簡単なことは、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