@ साजिद-सिद्दीकी से समाधान तकनीकी रूप से सही है, लेकिन यह ध्यान रखें कि निर्मित डब्ल्यूएसजीआई सर्वर विर्कज़ग (जिसे फ्लास्क में पैक किया गया है और इसके लिए जो उपयोग करता है app.run()
) केवल एकल-थ्रेडेड है।
बहु-थ्रेडेड व्यवहार को संभालने में सक्षम होने के लिए एक WSGI सर्वर स्थापित करें । मैंने विभिन्न WSGI सर्वर प्रदर्शनों पर अनुसंधान का एक गुच्छा किया । आपकी ज़रूरतें अलग-अलग हो सकती हैं, लेकिन यदि आप सभी का उपयोग कर रहे हैं तो फ्लास्क , तो मैं निम्नलिखित में से एक वेबसर्वर की सिफारिश करूंगा।
अद्यतन (2020/07/25): ऐसा लगता है कि gevent का समर्थन करना शुरू python3 5 साल पहले, कुछ ही समय बाद मैंने टिप्पणी की है कि यह, नहीं था तो आप उपयोग कर सकते हैं gevent अब।
gevent
आप स्थापित कर सकते हैं gevent के माध्यम से पिप कमांड के साथ pip install gevent
या pip3 कमांड के साथ pip3 install gevent
। तदनुसार अपने कोड को संशोधित करने के निर्देश यहां दिए गए हैं: https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#gevent
meinheld
gevent बेहतर है, लेकिन सभी बेंचमार्क से मैंने देखा है कि इसमें वास्तविक दुनिया का परीक्षण शामिल है, meinheld सबसे सीधा, सरल WSGI सर्वर लगता है। ( यदि आप कुछ और विन्यास को बुरा नहीं मानते हैं तो आप uWSGI पर भी नज़र डाल सकते हैं।)
तुम भी कमांड के साथ pip3 के माध्यम से meinheld स्थापित कर सकते हैं pip3 install meinheld
। वहाँ से, फ्लास्क को एकीकृत करने के लिए meinheld स्रोत में दिए गए नमूने को देखें : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* नोट: PyCharm के मेरे उपयोग से , लाइन from meinheld import server
एक त्रुटि के रूप में हाइलाइट करती है, लेकिन सर्वर चलेगा, जिससे आप त्रुटि को अनदेखा कर सकते हैं।