मुझे एक अजीब समस्या है जहां ब्रोकर को भेजे जाने के बाद मेरे कुछ कार्यों को छोड़ दिया जा रहा है। यह 10 कार्यों में से लगभग 1 के लिए होता है। मैंने जांच की है कि कार्य का उपभोग करने वाला कोई पुराना अजवाइन कार्यकर्ता नहीं है।खरगोश के ब्रोकर को भेजने के बाद सेलेरी कार्य खो गए
मैंने लापता कार्यों की निगरानी के लिए डेटाबेस समर्थित बैकएंड और फूल का उपयोग किया, लेकिन task_idync डेटाबेस के बाद या फूल में मौजूद नहीं है। इसकी स्थिति हमेशा लंबित के रूप में आता है।
तब मैंने यह पता लगाने के लिए अजवाइन संकेतों का उपयोग किया कि क्या हो रहा है। मैंने पाया कि लापता कार्यों के लिए, केवल before_task_publish और बाद_टस्क_पublिश सिग्नल निकाल दिए जाते हैं। पोस्ट करें कि इस कार्य के लिए कोई निशान नहीं है।
ये मेरी संकेतों
@before_task_publish.connect
def before_task_publish_handler(sender=None, headers=None, body=None, **kwargs):
# information about task are located in headers for task messages
# using the task protocol version 2.
logger.info("BEFORE TASK SENT id:"+body['id'])
@after_task_publish.connect
def after_task_publish_handler(sender=None, headers=None, body=None, exchange=None, routing_key=None, **kwargs):
# information about task are located in headers for task messages
# using the task protocol version 2.
logger.info("AFTER TASK SENT id:"+body['id'])
@task_prerun.connect
def task_prerun_handler(sender=None, task_id=None, task=None, **kwargs):
logger.info("TASK PRERUN with TASK_ID:"+str(task_id))
हैं, तो यह है कि मैं क्या लॉग
$ cat gunicorn-access.log | grep -i 103de274-00dc-4765-844f-d319e9e199c2
BEFORE TASK SENT id: '103de274-00dc-4765-844f-d319e9e199c2'
AFTER TASK SENT id: '103de274-00dc-4765-844f-d319e9e199c2'
मुझे यकीन है कि काम RabbitMQ द्वारा नजरअंदाज कर दिया है या उसके चुपचाप किसी कारण से गिरा दिया है कि क्या नहीं कर रहा हूँ में पाया।
क्या आपको कारण मिला है? – melih