शायद मैं मूर्खता से सवाल पूछ रहा हूं लेकिन मुझे आगे काम करने से पहले बुनियादी अवधारणाओं के चारों ओर अपने सिर को लपेटने की जरूरत है।सेलेरी - क्या एक ही समय में दो या दो से अधिक श्रमिकों द्वारा खरगोश एमक्यू में एक संदेश खाया जा सकता है?
मैं ब्रोकर के रूप में एकाधिक सेलेरी वर्कर नोड्स और एक खरगोश एमक्यू नोड का उपयोग करके कुछ हजार आरएसएस फ़ीड संसाधित कर रहा हूं। प्रत्येक फ़ीड का यूआरएल कतार में एक संदेश के रूप में लिखा जा रहा है। एक कर्मचारी सिर्फ कतार से यूआरएल पढ़ता है और इसे संसाधित करना शुरू करता है। मुझे यह सुनिश्चित करना है कि एक ही आरएसएस फ़ीड को एक ही समय में दो श्रमिकों द्वारा संसाधित नहीं किया जाता है।
आलेख Ensuring a task is only executed one at a time संसाधित होने पर फ़ीड को लॉक करने के लिए एक मेम्केहाइड-आधारित समाधान सुझाता है।
लेकिन जो मैं समझने की कोशिश कर रहा हूं वह यह है कि मुझे एक ही समय में कई श्रमिकों द्वारा एक खरगोश एमक्यू कतार पर एक संदेश का उपभोग करने के लिए मेमकैच (या कुछ और) का उपयोग करने की आवश्यकता क्यों है। क्या RabbitMQ (या सेलेरी) में कुछ कॉन्फ़िगरेशन परिवर्तन है जो मैं इस लक्ष्य को प्राप्त करने के लिए कर सकता हूं?
संदेशों को लॉक करने और फ़ीड पर लॉक करने की आवश्यकता के बीच एक अंतर है। आपको क्या करने की ज़रूरत है? –
@PlatinumAzure - थोड़ा सा समझाने की देखभाल?मुझे संदेश पर लॉक करने की आवश्यकता है (अगर इसका मतलब है कि यह कई श्रमिकों द्वारा उपभोग नहीं किया जाएगा)। – rubayeet