Сельдерей - Получает идентификатор задачи для текущей задачи

Как я могу получить значение task_id для задачи из задачи? Вот мой код:

from celery.decorators import task
from django.core.cache import cache

@task
def do_job(path):
    "Performs an operation on a file"

    # ... Code to perform the operation ...

    cache.set(current_task_id, operation_results)

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

В вышеупомянутом примере, как я получил бы значение current_task_id?

70
задан tanascius 22 July 2010 в 08:12
поделиться

1 ответ

Celery устанавливает некоторые аргументы ключевого слова по умолчанию, если задача их принимает. (вы можете принять их, используя ** kwargs, или перечислите их специально)

@task
def do_job(path, task_id=None):
    cache.set(task_id, operation_results)

Список аргументов ключевых слов по умолчанию задокументирован здесь: http://ask.github.com/celery/userguide/tasks.html#default-keyword-arguments

9
ответ дан 24 November 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: