फ्लास्क देव सर्वर विकास के दौरान दो बार क्यों चलता है
फ्लास्क देव सर्वर चलाते समय, उपयोगकर्ता देख सकते हैं कि शुरुआती प्रिंट लाइन दो बार प्रदर्शित हो रही है। यह व्यवहार वर्कज़ेग के रीलोडर के उपयोग से उत्पन्न होता है, जो कोड बदलने पर अपडेट की सुविधा के लिए एक चाइल्ड प्रक्रिया बनाता है।
रीलोडर की शुरुआत
फ्लास्क ऐप किसके साथ चलाया जाता है ऐप.रन() विधि, जो आंतरिक रूप से वर्कज़ेग के विकास सर्वर का उपयोग करती है। restart_with_reloader() फ़ंक्शन एक चाइल्ड प्रोसेस लॉन्च करता है, जिससे स्क्रिप्ट को सबप्रोसेस.कॉल() के साथ फिर से चलाया जा सकता है।
ऑटो-रीलोडिंग अक्षम करें
डबल प्रिंट को दबाने के लिए , app.run() में use_reloader को गलत पर सेट करें। वैकल्पिक रूप से, --नो-रीलोड फ़्लैग के साथ फ्लास्क रन कमांड का उपयोग करें:
FLASK_DEBUG=1 flask run --no-reload
रीलोडिंग का पता लगाना
यह सुनिश्चित करने के लिए कि ऐप पुनः लोडिंग चाइल्ड प्रक्रिया में चल रहा है या नहीं, इसका उपयोग करें werkzeug.serving.is_running_from_reloader फ़ंक्शन।
मॉड्यूल ग्लोबल्स के लिए वैकल्पिक
यदि मॉड्यूल ग्लोबल्स को सेट करने की आवश्यकता है, तो एक फ़ंक्शन बनाने के लिए @app.before_first_request डेकोरेटर का उपयोग करें प्रत्येक पुनः लोड के बाद, पहले अनुरोध पर केवल एक बार निष्पादित किया जाएगा। हालाँकि, ध्यान दें कि यह दृष्टिकोण कई प्रक्रियाओं का उपयोग करने वाले डब्लूएसजीआई सर्वर में कई आमंत्रणों को जन्म दे सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3