मैं एक काम है:अजवाइन कार्यकर्ता फिर से प्रयास करें बुला के बाद कार्य पुन: प्रयास नहीं करता है()
@celery.task(name='request_task',default_retry_delay=2,acks_late=True)
def request_task(data):
try:
if some_condition:
request_task.retry()
except Exception as e:
request_task.retry()
मैं MongoDB दलाल और MongoDB परिणाम बैकएंड को सक्षम करने पर अजवाइन का उपयोग करें।
जब कार्य की पुनः प्रयास() विधि को सशर्त कथन से और न ही अपवाद को पकड़ने के बाद कहा जाता है, तो कार्य को पुनः प्रयास नहीं किया जाता है।
कार्यकर्ता टर्मिनल मेंमैं इस तरह संदेश मिलता है:
[2012-08-10 19: 21: 54,909: जानकारी/MainProcess] टास्क request_task [badb3131-8964-41b5-90a7-245a8131e68d] पुनर्प्रयास : कार्य को
क्या गलत हो सकता है?
अद्यतन: अंत में, मैंने इस प्रश्न को हल नहीं किया और कार्य के अंदर लूप के दौरान उपयोग करना पड़ा, इसलिए मेरे कार्यों को कभी भी पुनः प्राप्त नहीं किया गया।
आप किस सेलरी संस्करण का उपयोग कर रहे हैं? –
@MauroRocco मैंने टाइम प्रश्न पर सेलरी 3.0.4 का इस्तेमाल किया था। मेरे पास संस्करण 3.0.4 और 3.0.5 में बग के साथ काम करने वाली कुछ विशेषताएं थीं लेकिन बाद के संस्करणों ने बहुत अच्छी तरह से काम किया। – user1039098
इसे सुनकर खुशी हुई। अगर आप अपने आप को प्रश्न का उत्तर दे सकते हैं और संकल्प को बेहतर तरीके से समझा सकते हैं। –