Как получить результат из идентификатора задачи аккорда?

В моем приложении фляги, у меня есть chord позвоните в одну из наших конечных точек. Я возвращаю task_id с этой конечной точки.

def post(self, ...):
    .....
    .....
    .....
    from celery import chord
    result = chord(celery_task_list, callback.si(arg1, arg2)).delay()
    return {'task_id': result.id}

У меня есть другая конечная точка, с которой я хочу проверить, завершен ли обратный вызов или нет.

def get(self, task_id):
    from some_service import celery_app as app
    a_result = app.AsyncResult(task_id)
    print(a_result.status)
    print(a_result.state)
    print(a_result.result)

Но получать PENDING всегда, для первых двух, и None за последний. Наверное, потому что task_id не признается работниками сельдерея. Какой обходной путь здесь?

0 ответов

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