2011-09-17 15 views
8

में लंबे समय से चलने वाले कार्यों के लिए "निष्क्रिय" और "सामान्य" प्राथमिकता कतार कार्यान्वित करना मैं सेलेरी के साथ निम्नलिखित परिदृश्य को कार्यान्वित करने का प्रयास कर रहा हूं: दो पंक्तियां (समान) लंबे समय से चलने वाले कार्यों, एक "सामान्य" के लिए और अन्य "निष्क्रिय" प्राथमिकता के लिए।सेलेरी

मैं श्रमिकों को दोनों कतारों की निगरानी करता हूं और पहले "सामान्य" प्राथमिकता कतार से कार्य करता हूं और यदि यह खाली होता है, तो यह "निष्क्रिय" प्राथमिकता से कार्य करेगा।

मेरा प्रश्न है: क्या आदेश उस आदेश की गारंटी देना संभव है जिसमें मजदूर अपनी कार्य कतारों की जांच करेंगे? साथ ही, प्राथमिकताओं को लागू करने के लिए यह सही दृष्टिकोण है?

पृष्ठभूमि: कार्य ffmpeg ट्रांसकोडिंग नौकरियां चला रहे हैं। "सामान्य" प्राथमिकता वाले नए वीडियो होंगे (जिन्हें एएसएपी ट्रांसकोड किया जाना है) और "निष्क्रिय" प्राथमिकता पुराने प्रारूप (40,000+ वीडियो) संग्रह को अद्यतन प्रारूप सेटिंग्स में फिर से ट्रांसकोड करने का कार्य होगा। बहु-सर्वर कार्य प्रेषण करने के लिए मेरे पास कई सर्वर उपलब्ध नहीं हैं।

उत्तर

-1
+3

इनमें से कोई भी सहायक नहीं है। मुझे पहले से ही पता है कि RabbitMQ प्राथमिकताओं का समर्थन नहीं करता है, इसलिए मैं एक कामकाज कर रहा हूं। – Mavrik

1

इस सिद्धांत के तहत कि निष्क्रिय श्रमिक अधिक सिस्टम संसाधनों का उपभोग नहीं कर रहे हैं, मैंने दो प्राथमिकताओं को दूसरे विनिमय, कतारों का दूसरा सेट और श्रमिकों का एक दूसरा सेट लागू किया है। मेरे पास ऐसी गहन कार्य प्रक्रियाएं नहीं हैं इसलिए जब मैं पहला सेट सक्रिय होता हूं तो मैं अपने दूसरे कार्यकर्ताओं को खुद को थ्रॉटल नहीं करता हूं, लेकिन संभव है कि यूनिक्स किराए पर आदेश इस के लिए काम करेगा।

आप शायद नियंत्रण कतार के साथ कुछ भी कर सकते हैं ताकि श्रमिकों को कार्य अनुरोध प्राप्त करने के लिए पर्याप्त नहीं है, उन्हें नियंत्रण कतार से टोकन प्राप्त करने की भी आवश्यकता है। फिर आप निष्क्रिय नियंत्रण कतार में टोकन की एक छोटी संख्या थूकते हैं लेकिन सामान्य नियंत्रण कतार में बड़ी संख्या में टोकन होते हैं।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^