Celery-获取当前任务的任务ID

发布于 2021-01-29 17:53:17

如何从任务中获取任务的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从任务对象中检索。然后,我使用任务ID来确定任务是否已完成。我 不想
path值跟踪任务,因为在任务完成后文件将被“清理”,并且可能存在也可能不存在。

在上面的示例中,我将如何获取值current_task_id

关注者
0
被浏览
316
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果任务接受,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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看