में ऑटो-टर्मिनिंग लंबे समय तक चलने वाले अनुरोधों में मुझे अपाचे + mod_wsgi चल रहा django कोड के साथ एक सेटअप मिला है, और यदि एक गैर-समाप्ति दृश्य में फिसल जाता है तो मैं सुरक्षा की एक परत जोड़ना चाहता हूं। कुछ जो मारता है एक अनुरोध से अधिक अनुरोध करें, कहें, 30 सेकंड आदर्श होगा।Django
परीक्षण के लिए मैंने एक दृश्य में time.sleep(60)
डाला है।
मैंने अपाचे में TimeOut 30
सेटिंग की कोशिश की है, लेकिन मुझे अभी भी 60 सेकंड के बाद कर्ल लौट रहा है।
मुझे लगता है कि mod_wsgi स्वयं तीन अलग-अलग समय-आउट मान प्रदान करता है, लेकिन उनमें से कोई भी लंबे समय तक चलने वाले अनुरोध पर लागू नहीं होता है।
क्या इसके लिए डीजेगो मिडलवेयर का एक मानक टुकड़ा है या क्या यह एक घुंडी है जिसे मैं अपाचे या mod_wsgi पर याद कर रहा हूं?
धन्यवाद। एक चीज जिसे हमने करने की कोशिश की थी, से स्विच करना था, प्रत्येक प्रक्रिया में बीस अनुरोध धागे के साथ 5 प्रक्रियाएं, 100 प्रक्रियाओं में प्रत्येक अनुरोध थ्रेड के साथ। आशा है कि mod_wsgi के टाइमआउट्स तब प्रक्रियाओं को मार सकते हैं जो असंबद्ध अनुरोधों को नुकसान पहुंचाते हैं। अभ्यास में जो सिस्टम मेमोरी कारणों के लिए काम नहीं करता था (मुझे अधिक साझा मेमोरी की उम्मीद होगी), लेकिन क्या यह संभव है कि mod_wsgi उस प्रक्रिया को मार सकता है यदि निष्क्रियता-टाइमआउट ट्रिगर करता है? –
आवेदन कांटा के बाद लोड किया जाता है, इसलिए कुछ भी साझा नहीं किया जाता है कि लेखन पर प्रतिलिपि एक लाभ होगा। पायथन में फोर्किंग से पहले प्रीलोडिंग का लाभ उतना ही नहीं है जितना लोग सोचेंगे क्योंकि कोड निष्पादन संदर्भ संख्याओं में हेरफेर करता है और इसलिए अधिकांश चीजों पर प्रतिलिपि बनाई जाती है। –
mod_wsgi 4.0 में अवरुद्ध-टाइमआउट विकल्प अभी भी आपकी सबसे अच्छी शर्त बनने जा रहा है। आप अभी भी मल्टीथ्रेडेड चला सकते हैं और जब सभी धागे फंस गए हैं तो यह किक जाएगा। इंतजार कर रहे हैं जब तक कि सभी थ्रेड अटक नहीं है। तो एक अवरुद्ध अनुरोध सेटिंग भी है। यदि आपके पास धागे = 15 हैं, तो आप अवरुद्ध-अनुरोध = 5 कह सकते हैं। तो जैसे ही इसे पांच धागे फंस जाते हैं और हिट पॉइंट होते हैं जहां प्रक्रिया द्वारा कोई अनुरोध नहीं किया जा रहा है, तो यह सुरक्षित रूप से पुनरारंभ होगा। अवरुद्ध अनुरोध थ्रेसहोल्ड सेट करने में सक्षम होने से आपको सुरक्षा मार्जिन मिल जाता है, इसलिए प्रक्रिया कम नहीं होती है। –