ホームページ >バックエンド開発 >Python チュートリアル >Flask 開発サーバーが 2 回起動しているように見えるのはなぜですか?

Flask 開発サーバーが 2 回起動しているように見えるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 15:31:10219ブラウズ

Why Does My Flask Dev Server Appear to Start Twice?

開発中に Flask 開発サーバーが 2 回実行される理由

Flask 開発サーバーを実行すると、ユーザーは開始印刷行が 2 回表示されることに気づくかもしれません。この動作は、コード変更時の更新を容易にする子プロセスを作成する Werkzeug のリローダーの使用に起因します。

リローダーの開始

Flask アプリは次のコマンドで実行されます。 app.run() メソッド。内部的に Werkzeug の開発サーバーを利用します。 restart_with_reloader() 関数は子プロセスを起動し、subprocess.call() でスクリプトを再実行します。

自動再読み込みを無効にする

二重出力を抑制するには、app.run() で use_reloader を False に設定します。または、--no-reload フラグを指定して flask run コマンドを使用します。

FLASK_DEBUG=1 flask run --no-reload

リロードの検出

アプリがリロード中に実行されているかどうかを確認するには子プロセスでは、werkzeug.serving.is_running_from_reloader を使用します。 function.

モジュール グローバルの代替

モジュール グローバルを設定する必要がある場合は、@app.before_first_request デコレータを使用して 1 回だけ実行される関数を作成します各リロード後、最初のリクエスト時に。ただし、このアプローチでは、複数のプロセスを使用して WSGI サーバーで複数の呼び出しが行われる可能性があることに注意してください。

以上がFlask 開発サーバーが 2 回起動しているように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。