कुछ ऐसा जो मैंने अभी सोचा था:क्या होता है जब आपके पास Django व्यू कोड में अनंत लूप होता है?
कहें कि मैं अपने Django साइट के लिए व्यू कोड लिख रहा हूं, और मैं एक गलती करता हूं और अनंत लूप बनाता हूं।
जब भी कोई व्यक्ति दृश्य तक पहुंचने का प्रयास करेगा, तो अनुरोधकर्ता को अनुरोध (जिसे यह एक गेवेंट कार्यकर्ता या पायथन थ्रेड हो) अनिश्चित काल तक रहना होगा।
यदि मैं सही ढंग से समझता हूं, तो सर्वर 30 सेकंड के बाद क्लाइंट को टाइमआउट त्रुटि भेज देगा। लेकिन पायथन कार्यकर्ता के साथ क्या होगा? क्या यह अनिश्चित काल तक काम करेगा? यह खतरनाक लगता है!
कल्पना कीजिए कि मेरे पास एक सर्वर है जिसमें मैंने 10 श्रमिकों को आवंटित किया है। मैंने इसे चलाने दिया और किसी बिंदु पर, क्लाइंट अनंत लूप के साथ दृश्य तक पहुंचने का प्रयास करता है। एक कार्यकर्ता इसे सौंपा जाएगा, और अगले सर्वर पुनरारंभ होने तक प्रभावी ढंग से मर जाएगा। खतरनाक बात यह है कि सबसे पहले मैं इसे नहीं देखूंगा, क्योंकि साइट केवल 10 की बजाय 9 श्रमिकों के साथ धीमी गति से धीमी होगी, लेकिन फिर यह लंबे समय तक, शायद महीनों में बार-बार हो सकती है। साइट अभी भी धीरे-धीरे धीमी हो जाएगी, अंत में यह केवल एक कार्यकर्ता के साथ वास्तव में धीमी होगी।
एक सर्वर पुनरारंभ समस्या को हल करेगा, लेकिन मुझे लगता है कि मेरी साइट की कार्यक्षमता सर्वर पुनरारंभ पर निर्भर करती है।
क्या यह एक वास्तविक समस्या है जो होता है? क्या इससे बचने का कोई तरीका है?
अद्यतन: मैं भी वास्तव में धागा/कार्यकर्ता है कि एक अनंत लूप में अटक गया है की एक स्टैकट्रेस लेने के लिए एक तरह से इसकी सराहना करेंगे, तो मुझे लगता है कि मुझे ईमेल कर दी तो मैं समस्या से अवगत हो जाएगा हो सकता था । (मैं ऐसा करने के तरीके भी इसका अपवाद नहीं उठाया जा रहा है, क्योंकि पता नहीं।)
"लेखन कोड अनंत लूप है कि बचें" के प्रभाव के लिए बातें कह लोगों को अद्यतन: मामले में यह नहीं था जाहिर है, मैं जानबूझ कर अपने कोड में अनंत लूप डालने का अपना खाली समय नहीं व्यतीत करता हूं। जब ये बातें होती हैं, तो वे गलतियां होती हैं, और गलतियों को कम किया जा सकता है लेकिन पूरी तरह से कभी नहीं बचाया जाता है। मैं जानना चाहता हूं कि जब भी मैं गलती करता हूं, तब भी एक सुरक्षा नेट होगा जो मुझे सूचित करेगा और मुझे समस्या को ठीक करने की अनुमति देगा।
दिलचस्प पढ़ने सूचना मिल सकती है:: http: // stackoverflow
आत्महत्या की मौत हो गई प्रक्रिया के प्रिंट स्टैक ट्रेस नहीं करता है। कॉम/प्रश्न/8685695/कैसे-करें-i-run-long-term-अनंत-पायथन-प्रक्रिया –
मैंने अपना उत्तर अपडेट कर लिया है, मुझे उम्मीद है कि यह अब आपके प्रश्न का उत्तर देगा :) –