1

在这里,我找到了如何向 Flower 发送事件。接下来,我尝试在我的代码中使用它,就像在github issue中一样。我的版本:

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

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

花的仪表板

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

有关失败任务的信息

我应该如何使用send_event

4

2 回答 2

1

可能的解决方案:

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)
于 2017-12-04T15:40:46.410 回答
0

您正在寻找错误的状态。您应该搜索state:FAILEDnot state:FAILURE

于 2018-04-24T14:14:19.087 回答