Here我找到了如何向Flower发送事件。接下来,我尝试在github issue中的代码中使用它。我的版本:
@celery.task()
def add():
try:
...
except Exception as exc:
add.send_event('task-failed', exception=str(exc))
如果出现错误,Flower会收到有关失败任务的信息:
但是当我尝试点击并找到关于它的额外信息时,我看到:
Information about failed tasks
我应该如何使用send_event
?
答案 0 :(得分:0)
可能的解决方案:
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)
答案 1 :(得分:0)
您搜索错误的状态。您应该搜索state:FAILED
而不是state:FAILURE
。