Цветок не показывает события задачи
Здесь я нахожу, как отправить событие в Flower. Затем я пытаюсь использовать его в своем коде, как в выпуске github. Моя версия:
@celery.task()
def add():
try:
...
except Exception as exc:
add.send_event('task-failed', exception=str(exc))
В случае ошибки, Flower получает информацию о неудачной задаче:
Но когда я пытаюсь щелкнуть и найти дополнительную информацию об этом, я вижу:
Информация о неудачных заданиях
Как я должен использовать send_event
?
2 ответа
Решение
Возможное решение:
send_event
использования task.request.id
опубликовать событие в Flower. Если заменить этот идентификатор на другой, в Flower будет две записи об одной задаче. Но нужно использовать разные идентификаторы для этих записей. Пример функции:
def send_to_flower(task, event, **kwargs):
task.request.id = str(uuid4())
task.send_event(event, **kwargs)
Вы ищете неправильное состояние. Вы должны искать state:FAILED
не state:FAILURE
,