2015-02-18 10 views
6

Soweit ich verstanden Flask sollte einen Thread und einen zweiten Thread erstellen, um darauf zu laufen, aber was ich sehe, ist, gibt es immer zwei Prozesse, nicht Threads, ausgeführt werden. Selbst für die einfachste App.Warum erstellt eine Flask App zwei Prozesse?

from flask import Flask 
from flask import render_template, request, flash, session, redirect 

app = Flask(__name__) 

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

app.run(host="192.168.21.73", port=5000, debug=True) 

Sie können zwei Verfahren laufen sehen:

ps -x 
5026 ttyO0 S+  0:01 /usr/bin/python ./test_flask.py 
5031 ttyO0 Sl+ 0:45 /usr/bin/python ./test_flask.py 

Was hier geschieht?

Antwort

13

Es liegt daran, dass Sie den Dev-Server mit dem Reloader ausführen. Der Reloader überwacht das Dateisystem auf Änderungen und startet die eigentliche App in einem anderen Prozess, so dass es insgesamt zwei Prozesse gibt.

Sie können den Wiederlader deaktivieren, indem Sie debug=False oder use_reloader=False beim Aufruf run aufrufen.

Verwandte Themen