मेरे पास एक Django साइट का एक बहुत छोटा हिस्सा है जो दो उपयोगकर्ताओं के बीच एक मध्यम चैट सत्र की स्थिति रखता है। असल में, पहला उपयोगकर्ता 3 मिनट (और कोई और नहीं कर सकता) के लिए बोलता है, फिर दूसरा उपयोगकर्ता बोलता है, फिर 30 सेकंड विराम होता है, और प्रक्रिया को एक और बार दोहराया जाता है। मैं वर्तमान में कमरे की वर्तमान स्थिति (जो बोल सकता है, आदि) का प्रबंधन करने के लिए डेटाबेस और "रूमस्टेट" मॉडल का उपयोग कर रहा हूं। क्लाइंट द्वारा राज्य संक्रमण एक "पिंग" AJAX POST संदेश को मेरे 10 विचारों में से प्रत्येक में भेजने के लिए प्रभावित होते हैं, जो जांचता है कि क्या यह राज्य बदलने का समय है।सेलरी के बिना Django में पृष्ठभूमि प्रसंस्करण
यह काम करता है, लेकिन निश्चित रूप से हैकी लगता है। मैं सोच रहा था कि क्या टाइमर पर छोटे-छोटे पृष्ठभूमि कार्यों को प्रबंधित करने के लिए django-celery + rabbitmq की तुलना में कुछ हल्का वजन था। मुझे एहसास है कि वेब/Django की प्रकृति स्टेटलेस है, लेकिन मैं सिर्फ यह देखना चाहता था कि राज्य संक्रमण को अधिक विश्वसनीय तरीके से प्रबंधित करने के लिए किसी के पास एक साधारण सुझाव था या नहीं।
यदि खरगोश बहुत भारी वजन है, तो इसके बजाय रेडिस बैकएंड का उपयोग करने पर विचार करें। –
कृपया चयनित उत्तर को अपडेट करने पर विचार करें। – coleifer
मैं ओपी के साथ पूरी तरह से सहमत हूं जब भी हमें दो ब्रेक में से एक Django या Celery को अपग्रेड करना होगा। हम अब सिरदर्द संख्या 10 के लिए वेब स्कैन कर रहे हैं। सेलेरी में गिट हब पर 4 9 6 बकाया मुद्दे हैं और 37 बड़े पुल अनुरोध हैं जिन्हें कभी भी खींचा नहीं जा रहा है। हम सभी भरोसेमंद निर्धारित कार्य थे जो अजवाइन नहीं है। देवता अपने समय को एक और बैकएंड एकीकृत करने में बर्बाद करते हैं, कोई भी इसके बारे में sh *** देता है। –