दिलचस्प पोस्ट
पायथन में एक धागा से रिटर्न वैल्यू कैसे प्राप्त करें? अपाचे वर्चुअलहोस्ट 403 निषिद्ध PHP में कुशल जेपीईजी छवि रीसाइज़िंग मैं कितना गुणा और विभाजित कर सकता हूँ केवल बिट स्थानांतरण और जोड़ने का उपयोग कर? जब स्थिर सी ++ क्लास सदस्यों को आरंभ किया जाता है? कब __ डीस्ट्रैक्ट को PHP में नहीं बुलाया जाएगा? क्रॉस डोमेन लॉगिन – एक डोमेन से दूसरे स्थानांतरित होने पर किसी उपयोगकर्ता को स्वचालित रूप से कैसे लॉगिन किया जाए एंड्रॉइड इन्टेंट में यूआरएल को उत्तर दें पायथन में स्कैटर साजिश और रंग मानचित्रण रेंडर समय और प्रदर्शन के मामले में पैनलों को किस क्रम में सबसे अधिक कुशलता है? नोडजेएस को एक वैश्विक मॉड्यूल / पैकेज की आवश्यकता है पायथन का समतुल्य && (तार्किक-और) एक बयान में मैं प्राथमिक सारांश में एंड्रॉइड पसंद के वर्तमान मूल्य को कैसे प्रदर्शित करूं? MySQL में स्ट्रिंग के साथ काम करने के लिए विस्फोट () के बराबर एचटीएमएल 5 फार्म सत्यापन / आवश्यक पॉपअप के लिए ओवरराइड सीएसएस

क्या मैं सिर्फ फ्लास्क ऐप.रन () का इस्तेमाल करके एक से अधिक ग्राहकों की सेवा कर सकता हूं?

मुझे पता है कि मैं फ्लास्क अपाचे या अन्य वेब सर्वर से लिंक कर सकता हूं लेकिन, मैं फ्लास्क को एक स्टैंडअलोन सर्वर के रूप में चलाने के बारे में सोच रहा था, जो एक साथ कई ग्राहकों को सेवा प्रदान करता था।

क्या यह संभव है? क्या मुझे कई थ्रेड्स को संभालना और उन्हें प्रबंधित करना है?

वेब के समाधान से एकत्रित समाधान "क्या मैं सिर्फ फ्लास्क ऐप.रन () का इस्तेमाल करके एक से अधिक ग्राहकों की सेवा कर सकता हूं?"

flask.Flask.run अतिरिक्त कुंजीशब्द तर्क ( **options ) स्वीकार करता है कि यह werkzeug.serving.run_simple लिए आगे बढ़ाता है – उन दो तर्क threaded होते हैं (जो आपको थ्रेडिंग को सक्षम करने के लिए True पर सेट कर सकते हैं) और processes (जो कि आप एक से अधिक संख्या में werkzeug करने के लिए अनुरोध को संभालने के लिए एक से अधिक प्रक्रिया अंडे)। तो अगर आप ऐसा करते हैं:

 if __name__ == '__main__': app.run(threaded=True) # Alternately # app.run(processes=3) 

फ्लास्क वेरकेज़ुग को थ्रेडिंग का उपयोग करने के लिए और आवक अनुरोधों को संभालने के लिए तीन प्रक्रियाओं को अंडरवियर करने के लिए कहेंगे।

कहा जा रहा है कि, Werkzeug की serving.run_simple मानक पुस्तकालय के wsgiref पैकेज wsgiref है – और उस पैकेज में WSGI के एक संदर्भ कार्यान्वयन शामिल है, नहीं उत्पादन तैयार वेब सर्वर यदि आप उत्पादन में फ्लास्क का उपयोग करने जा रहे हैं (यह सोचते हैं कि "उत्पादन" कम-ट्रैफिक आंतरिक अनुप्रयोग नहीं है, जो 10 से अधिक समवर्ती उपयोगकर्ताओं के साथ नहीं है) एक असली वेब सर्वर के पीछे खड़ा होना सुनिश्चित करें (फ्लास्क के डॉक्स का अनुभाग देखें कुछ सुझाए गए तरीकों के लिए तैनाती विकल्प )

फ्लास्क के भीतर से सरल app.run() का उपयोग एक समय में केवल एक ग्राहक की सेवा करने में सक्षम एकल धागे पर एक एकल तुल्यकालिक सर्वर बनाता है। यह ठीक इसी कारण के लिए कम मांग के साथ नियंत्रित वातावरण (यानी विकास, डीबगिंग) के लिए उपयोग के लिए है।

अजगर जीआईएल की वजह से स्पॉन्गिंग थ्रेड्स और उन्हें स्वयं प्रबंधित करना शायद आपको बहुत दूर तक नहीं जा रहा है।

उसने कहा, आपके पास अभी भी कुछ अच्छा विकल्प हैं Gunicorn एक ठोस, आसान उपयोग WSGI सर्वर है जो आपको कई श्रमिकों को अलग करने की अनुमति देगा (अलग प्रक्रियाएं, इसलिए जीआईएल की कोई चिंता नहीं), और यहां तक ​​कि अतुल्यकालिक श्रमिकों के साथ भी आता है जो आपकी ऐप को गति देगा (और इसे अधिक सुरक्षित बनायेगा) अपने हिस्से पर कोई काम नहीं करने के लिए (विशेषकर फ्लास्क के साथ)

फिर भी, यहां तक ​​कि सैनिकों को सीधे सार्वजनिक रूप से उजागर नहीं किया जाना चाहिए। उत्पादन में, इसका उपयोग एक अधिक मजबूत एचटीटीपी सर्वर के पीछे किया जाना चाहिए; nginx गनॉर्नॉर्न और फ्लास्क के साथ अच्छी तरह से जाना जाता है