मुझे बस कॉन्फ़िगरेशन विकल्प CELERYD_PREFETCH_MULTIPLIER
( डॉक्स ) के बारे में पता चला । डिफ़ॉल्ट 4 है, लेकिन (मेरा मानना है) मैं प्रीफ़ेटिंग को बंद करना चाहता हूं या जितना संभव हो उतना कम। मैंने इसे अभी 1 पर सेट किया है, जो मैं देख रहा हूँ के लिए पर्याप्त है, लेकिन अभी भी कुछ चीजें हैं जो मुझे समझ में नहीं आती हैं:
यह एक अच्छा विचार क्यों है? मुझे वास्तव में इसका कोई कारण नहीं दिखता है, जब तक कि संदेश कतार और श्रमिकों के बीच बहुत विलंबता न हो (मेरे मामले में, वे वर्तमान में एक ही होस्ट पर चल रहे हैं और अंततः एक ही डेटा में अलग-अलग होस्ट पर चल सकते हैं केंद्र)। प्रलेखन में केवल नुकसान का उल्लेख है, लेकिन यह बताने में विफल है कि फायदे क्या हैं।
बहुत से लोग इसे 0 पर सेट करने की उम्मीद करते हैं, इस तरह से प्रीफेटिंग को बंद करने में सक्षम होने की उम्मीद करते हैं (मेरी राय में एक उचित धारणा)। हालांकि, 0 का मतलब है असीमित प्रीफेचिंग। कोई भी व्यक्ति कभी भी असीमित प्रीफ़ेचिंग क्यों चाहेगा, क्या यह पूरी तरह से उस संगामिति / अतुल्यकालिकता को समाप्त नहीं करता है जिसे आपने पहली बार एक कार्य कतार में पेश किया था?
प्रीफ़ैचिंग को बंद क्यों नहीं किया जा सकता है? यह ज्यादातर मामलों में इसे बंद करने के लिए प्रदर्शन के लिए एक अच्छा विचार नहीं हो सकता है, लेकिन क्या इसके लिए कोई तकनीकी कारण संभव नहीं है? या यह सिर्फ लागू नहीं है?
कभी-कभी, यह विकल्प जुड़ा होता है
CELERY_ACKS_LATE
। उदाहरण के लिए। रोजर हू लिखते हैं «[…] अक्सर क्या [उपयोगकर्ताओं] वास्तव में चाहते हैं कि एक कार्यकर्ता के पास केवल कई कार्य हों जैसे कि बाल प्रक्रियाएं हैं। लेकिन यह देर से स्वीकार किए बिना सक्षम होना संभव नहीं है [...] »मुझे समझ नहीं आता कि ये दो विकल्प कैसे जुड़े हैं और एक दूसरे के बिना संभव क्यों नहीं है। कनेक्शन का एक और उल्लेख यहां पाया जा सकता है । क्या कोई समझा सकता है कि दो विकल्प क्यों जुड़े हैं?