Цветок не показывает события задачи

Здесь я нахожу, как отправить событие в 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,

Другие вопросы по тегам