2015-02-18 8 views
6

जहां तक ​​मुझे लगता है कि फ्लास्क को थ्रेड और दूसरा थ्रेड बनाना चाहिए, लेकिन मैं जो देखता हूं वह हमेशा दो प्रक्रियाएं होती है, न कि धागे चलती हैं। यहां तक ​​कि सबसे सरल ऐप के लिए भी।फ्लास्क ऐप दो प्रक्रिया क्यों बनाता है?

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

यहाँ क्या हो रहा है:

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) 

आप दो प्रक्रिया चल देख सकते हैं?

उत्तर

13

ऐसा इसलिए है क्योंकि आप पुनः लोडर के साथ dev सर्वर चला रहे हैं। रीलोडर परिवर्तन के लिए फाइल सिस्टम पर नज़र रखता है और वास्तविक ऐप को एक अलग प्रक्रिया में शुरू करता है, इसलिए दो कुल प्रक्रियाएं होती हैं।

पर कॉल करते समय आप debug=False या use_reloader=False को व्यवस्थित करके पुनः लोडर को अक्षम कर सकते हैं।

संबंधित मुद्दे