Как я могу получить значение 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
?
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