मैं सिर्फ एक Django परियोजना में अजवाइन के साथ शुरू कर रहा हूं, और इस विशेष समस्या पर थोड़ी सी अटक गया हूं: असल में, मुझे विभिन्न श्रमिकों को एक लंबे समय से चलने वाले कार्य को वितरित करने की आवश्यकता है। कार्य वास्तव में कई चरणों में टूट गया है, जिनमें से प्रत्येक को पूरा करने में काफी समय लगता है। इसलिए, यदि कुछ कदम विफल हो जाते हैं, तो मैं पूरा कार्य से परिणामों का पुन: उपयोग करने के लिए एक ही कार्यकर्ता का उपयोग करके इस कार्य को पुनः प्रयास करने के लिए अजवाइन चाहूंगा। मैं समझता हूं कि सेलेरी कुछ सर्वर पर कार्यों को वितरित करने के लिए रूटिंग का उपयोग करती है, लेकिन मुझे इस विशेष समस्या के बारे में कुछ भी नहीं मिल रहा है। मैं अपने ब्रोकर के रूप में RabbitMQ का उपयोग करता हूं।उसी कार्यकर्ता का उपयोग करके सेलेरी पुनः प्रयास कैसे करें?
6
A
उत्तर
11
आप हर celeryd उदाहरण हो सकता था कार्यकर्ता की होस्ट नाम के नाम पर एक कतार से उपभोग:
celeryd -l info -n worker1.example.com -Q celery,worker1.example.com
worker1.example.com
को होस्ट नाम निर्धारित हैं और यह नाम की एक कतार है, साथ ही डिफ़ॉल्ट कतार से खपत होगी (नाम celery
)।
task.apply_async(args, kwargs, queue="worker1.example.com")
similary एक पुनः प्रयास निर्देशित करने के लिए:
task.retry(queue="worker1.example.com")
या एक ही कार्यकर्ता को पुन: प्रयास करें निर्देशित करने के लिए:
फिर एक विशिष्ट कर्मी को कार्य आप उपयोग कर सकते हैं निर्देशित करने के लिए
task.retry(queue=task.request.hostname)
संबंधित मुद्दे
- 1. सेलेरी को पुनः प्रयास करना विफल रहा कार्य जो चेन
- 2. पुनः खोया या असफल कार्य (सेलेरी, Django और RabbitMQ)
- 3. टाइमआउट पर पुनः प्रयास करें?
- 4. ndb.KeyProperty का उपयोग करके उसी मॉडल का संदर्भ कैसे लें?
- 5. अजवाइन कार्यकर्ता फिर से प्रयास करें बुला के बाद कार्य पुन: प्रयास नहीं करता है()
- 6. सिद्धांत का उपयोग करके डेडलॉक के बाद लेनदेन का पुन: प्रयास कैसे करें?
- 7. अपवाद, और कनेक्शन रीसेट होने पर पुनः प्रयास कैसे करें?
- 8. विफल होने पर urllib2.request को पुनः प्रयास कैसे करें?
- 9. एक http कनेक्शन पुनः प्रयास
- 10. सी # पृष्ठभूमि कार्यकर्ता प्रक्रिया का उपयोग करके टेक्स्टबॉक्स मान अपडेट करें और संलग्न करें
- 11. अजवाइन कार्यकर्ता को पुनरारंभ करने के लिए पायथन सेलेरी कार्य
- 12. सेलेरी
- 13. पुनः आरंभ खिड़कियों डॉट का उपयोग करके ऐप शुद्ध
- 14. सामान्य उद्देश्य सी # में टाइमआउट के साथ प्रयास करें और पुनः प्रयास करें?
- 15. XMLHttpRequest त्रुटि 0 उचित प्रबंधन (अनुरोध पुनः प्रयास करें)
- 16. Delayed_job में मैन्युअल रूप से पुनः प्रयास करें
- 17. सेलेरी
- 18. सेलेरी
- 19. सेलेरी
- 20. जीडीबी का उपयोग करके डीबग कैसे करें?
- 21. WebRequest का उपयोग करके पोस्ट कैसे करें?
- 22. mongoengine का उपयोग करके अंकन कैसे करें?
- 23. सेलेरी का उपयोग करके मैं एक कार्य में देरी कैसे करूं?
- 24. सेलेरी
- 25. सेलेरी
- 26. सेलेरी
- 27. कार्यकर्ता धागे से मानचित्रपैथ का उपयोग
- 28. jfreechart का उपयोग उसी श्रेणी के बार के साथ jfreechart का उपयोग करके
- 29. गतिशील रूप से सेलेरी
- 30. एक सेलेरी कार्य में Django के ORM का उपयोग
उत्तर के लिए बहुत बहुत धन्यवाद! मुझे लगता है कि यह वही है जो मैं ढूंढ रहा हूं। मुझे एहसास नहीं हुआ कि हम कतार नाम को पुनः प्रयास करने के लिए पारित कर सकते हैं(), लेकिन अब यह बहुत समझ में आता है :) – dangmai
'celeryd' अब बहिष्कृत है,' अजवाइन कार्यकर्ता 'का उपयोग करें। – user
कमांडलाइन बनाने के लिए विंडोज़ पर '% computername%' और लिनक्स पर '\' होस्टनाम \ '' का प्रयोग करें। – ubershmekel