यहां मैं फ्लावर को ईवेंट भेजने का तरीका ढूंढता हूं। इसके बाद, मैं इसे अपने कोड में github मुद्दे में उपयोग करने का प्रयास करता हूं। मेरा संस्करण:

@celery.task()
def add():
    try:
        ...
    except Exception as exc:
        add.send_event('task-failed', exception=str(exc))

त्रुटि के मामले में, फूल विफल कार्य के बारे में जानकारी प्राप्त करता है:

फूल का डैशबोर्ड

लेकिन जब मैं इसके बारे में अतिरिक्त जानकारी पर क्लिक करने और खोजने की कोशिश करता हूं, तो मैं देखता हूं:

असफल कार्यों की जानकारी

मुझे send_event का उपयोग कैसे करना चाहिए?

1
v144 4 पद 2017, 16:26

2 जवाब

सबसे बढ़िया उत्तर

संभावित स्थिति:

send_event इवेंट को फ्लावर में प्रकाशित करने के लिए task.request.id का उपयोग करता है। यदि इस आईडी को दूसरे में बदलें, तो फ्लावर में एक कार्य के बारे में दो रिकॉर्ड होंगे। लेकिन इन अभिलेखों के लिए अलग-अलग आईडी का उपयोग करने की आवश्यकता है। फ़ंक्शन का उदाहरण:

def send_to_flower(task, event, **kwargs):
    task.request.id = str(uuid4())
    task.send_event(event, **kwargs)
1
v144 4 पद 2017, 18:40

आप गलत स्थिति की खोज कर रहे हैं। आपको state:FAILED की तलाश करनी चाहिए न कि state:FAILURE

0
Jacob Howell 24 अप्रैल 2018, 17:14