Heim > Backend-Entwicklung > Python-Tutorial > Warum scheint mein Flask Dev Server zweimal zu starten?

Warum scheint mein Flask Dev Server zweimal zu starten?

Linda Hamilton
Freigeben: 2024-12-15 15:31:10
Original
216 Leute haben es durchsucht

Why Does My Flask Dev Server Appear to Start Twice?

Warum Flask Dev Server während der Entwicklung zweimal ausgeführt wird

Beim Ausführen des Flask Dev Servers bemerken Benutzer möglicherweise, dass die Startdruckzeile zweimal angezeigt wird. Dieses Verhalten ist auf die Verwendung des Reloaders von Werkzeug zurückzuführen, der einen untergeordneten Prozess erstellt, um Aktualisierungen bei Codeänderungen zu ermöglichen.

Initiierung des Reloaders

Die Flask-App wird mit ausgeführt die Methode app.run(), die intern den Entwicklungsserver von Werkzeug nutzt. Die Funktion restart_with_reloader() startet einen untergeordneten Prozess, wodurch das Skript mit subprocess.call() erneut ausgeführt wird.

Automatisches Neuladen deaktivieren

Um das Doppeldrucken zu unterdrücken , setze use_reloader in app.run() auf False. Alternativ können Sie den Befehl „flask run“ mit dem Flag „--no-reload“ verwenden:

FLASK_DEBUG=1 flask run --no-reload
Nach dem Login kopieren

Erkennung des Neuladens

Um festzustellen, ob die App beim Neuladen ausgeführt wird Untergeordneter Prozess, verwenden Sie die Funktion werkzeug.serving.is_running_from_reloader.

Alternative für Modul-Globals

Wenn Modul-Globals eingerichtet werden müssen, verwenden Sie den Dekorator @app.before_first_request, um eine Funktion zu erstellen, die nur einmal nach jedem Neuladen bei der ersten Anfrage ausgeführt wird. Beachten Sie jedoch, dass dieser Ansatz zu mehreren Aufrufen auf WSGI-Servern führen kann, die mehrere Prozesse nutzen.

Das obige ist der detaillierte Inhalt vonWarum scheint mein Flask Dev Server zweimal zu starten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage