Flower 不显示任务事件

Flower doesn't show task events

Here I find how to send event to Flower. Next, I try to use it in my code like in github issue。我的版本:

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

如果出现错误,Flower 会收到有关任务失败的信息:

Flower's dashboard

但是当我尝试单击并查找有关它的额外信息时,我看到:

Information about failed tasks

我应该如何使用 send_event

可能的解决方案:

send_event 使用 task.request.id 将事件发布到 Flower 中。如果将这个 id 替换为另一个,在 Flower 中将是关于一个任务的两条记录。但是需要为这些记录使用不同的ID。函数示例:

def send_to_flower(task, event, **kwargs):
    task.request.id = str(uuid4())
    task.send_event(event, **kwargs)

您搜索的状态有误。您应该搜索 state:FAILED 而不是 state:FAILURE.