मेरे पास एक django साइट है। अंतिम उपयोगकर्ता द्वारा कुछ क्रियाएं समूह में शेष उपयोगकर्ताओं को ईमेल भेजती हैं।Django गैर अवरुद्ध ईमेल? थ्रेडसाइड थ्रेडिंग। थ्रेड या सबप्रोसेस?
जब उपयोगकर्ताओं की संख्या होनी चाहिए> 20 यह अनुरोध चक्र में 1-3 सेकंड जोड़ सकता है, जो मुझे पसंद नहीं है। मैं एक गैर-अवरुद्ध समारोह से ईमेल भेजने में सक्षम होना चाहता हूं।
मुझे पता है कि संयोजन में खरगोश एमक्यू और सेलेरी इसे हल कर सकते हैं, लेकिन 200 उपयोगकर्ताओं के साथ जो अधिक इंजीनियरिंग की तरह दिखते हैं और इसमें दो और अनुप्रयोग जोड़े जाते हैं जिन्हें मुझे स्थापित करना, समझना और बेबीसिट करना है।
मैं बहुत शोध किया है, और ऐसा लगता है कि दोनों threading.Thread और उपप्रक्रिया एक गैर अवरुद्ध कॉल रैप करने के लिए तरीके होगा। क्या मुझे ऐसा करने का एक स्पष्ट तरीका याद आ रहा है? क्या थ्रेडिंग या थ्रेडिंग या सबप्रोसेस दृष्टिकोण का उपयोग करने के लिए डाउनसाइड्स हैं?
धन्यवाद, टेड
यदि आप थ्रेडिंग का उपयोग करके अपना खुद का लिखते हैं। थ्रेड या सबप्रोसेस, तो आपको बेबीसिटिंग लिखनी होगी। इसे क्यों लेते हैं? क्यों नीलरी का उपयोग करें? (अपना खुद का लुत्फ उठाकर, मैं आपको बता सकता हूं कि यह एक खेदजनक निर्णय है।) जब सेलेरी पहले से ही लिखी गई है तो अपना खुद का रोल क्यों करें? –
किस प्रकार की बेबीसिटिंग की आवश्यकता होगी? मेरी समझ यह है कि धागे पर कचरा इकट्ठा होता है। – Ted
धागे जादू नहीं हैं। वे I/O संसाधनों के लिए संघर्ष करते हैं। (सभी धागे प्रक्रिया-स्तरीय संसाधन साझा करते हैं) जब वे मेलमेल बुरी तरह व्यवहार करते हैं तो वे लटकते हैं। आपको अक्सर पूल बनाना और टाइमआउट, डेडलॉक्स और लाइफॉक्स (भुखमरी) का प्रबंधन करना होगा। मैं नहीं देखता कि कैसे "बेबीसिटिंग" धागे से दूर चला जाता है। यदि आप बच्चों की देखभाल से छुटकारा पा सकते हैं, तो सवाल क्यों पूछें? बस अपने धागे समाधान को लागू करें। –