2017-09-13 28 views
7

हम अपने असीमित पृष्ठभूमि कार्यों के लिए अजवाइन का उपयोग कर रहे हैं और हमारे पास विभिन्न प्राथमिकता कार्यों के लिए 2 कतार हैं। हमारे पास अलग-अलग सेवा करने वाले नोड्स के 2 क्लस्टर हैं। चीजें उम्मीद के अनुसार अच्छी तरह से काम कर रहे हैं।अजवाइन में कई कतारों के बीच कतारों को प्राथमिकता देना?

प्रश्न:

हम ज्यादातर कम प्राथमिकता वाले कार्यों मिलता है। अनुकूलित संसाधन उपयोग के लिए, मुझे आश्चर्य है कि दोनों कतारों को सुनने के लिए श्रमिकों (उच्च प्राथमिकता कतार सुनना) को कॉन्फ़िगर करने का कोई तरीका है। लेकिन जब तक कुछ नौकरी होती है तब तक उच्च प्राथमिकता कतार से नौकरियां लेते हैं? और अन्यथा कम प्राथमिकता कतार में गिरावट।

मैं @Celery Task Priority पर चर्चा की प्राथमिकता आधारित कार्य शेड्यूलिंग के माध्यम से चला गया हूं।

लेकिन मेरे प्रश्न कतारों को प्राथमिकता देते हैं न केवल कतार के भीतर कार्य करते हैं।

उत्तर

1

आप इसे शुरू करते समय कार्यकर्ता के लिए कई कतारों को परिभाषित करके आंशिक रूप से इसे प्राप्त कर सकते हैं।

आप इसे निम्न आदेश के साथ कर सकते हैं: इसके अलावा, अधिक जानकारी के लिए here देखें।

celery -A proj worker -l info -Q Q1,Q2 

हालांकि इस दृष्टिकोण में कोई समस्या है। यह फॉलबैक प्रकार के दृष्टिकोण के साथ ऐसा नहीं करता है। चूंकि, श्रमिक कई कतार सुनकर समान रूप से संसाधनों को वितरित करते हैं।

इसलिए, 'सामान्य प्राथमिकता कतार' में कुछ भी होने पर भी 'उच्च प्राथमिकता कतार' से प्रसंस्करण की आपकी आवश्यकता प्राप्त नहीं की जा सकती है। 'उच्च प्राथमिकता कतार' और 'सामान्य प्राथमिकता कतार' के लिए 25% अधिक श्रमिकों (75% हो सकता है) आवंटित करके इसे कम किया जा सकता है। या आपके काम के आधार पर अलग-अलग शेयर।

0

दुर्भाग्य से, बॉक्स के बाहर सेलेरी के साथ यह संभव नहीं है।

2 कर्मचारियों को शुरू करने का एक इष्टतम समाधान है। 1 कम प्राथमिकता के लिए और अन्य प्रक्रिया के साथ उच्च प्राथमिकता के लिए।

जब कोई उच्च प्राथमिकता कार्य नहीं होता है, कम प्राथमिकता वाले कार्यकर्ता सभी संसाधनों का उपयोग करेंगे और इसके विपरीत। यदि दोनों कार्य हैं, संसाधन समान रूप से वितरित किए जाएंगे।

+0

यह एक समाधान हो सकता है। मै कोशिश करूँगा । –

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