问题描述
在我的 views.py
中,我正在使用celery运行 tasks.py
中存在的共享任务.
In my views.py
I am using celery to run a shared task present in tasks.py
.
这是我从 views.py
task = task_addnums.delay()
task_id = task.id
tasks.py
外观为
from celery import shared_task
from celery.result import AsyncResult
@shared_task
def task_addnums():
# print self.request.id
# do something
return True
现在,正如我们所看到的,我们已经在 views.py
中的 task.id
中获得了task_id.但是,假设我要从shared_task本身获取任务ID怎么办?目的是从 task_addnums
本身获取任务ID,以便我可以将其用于其他功能.考虑到第一个参数是 self
,我尝试使用 self.request.id
.但这没有用.
Now, as we can see we already have task_id from task.id
in views.py
. But, Let's say If I want to fetch task id from the shared_task itself how can I ? The goal is to get task id from the task_addnums
itself so I can use that to pass into some other function.I tried using self.request.id
considering the first param is self
. But it didn't worked.
推荐答案
已解决.
这个答案是一颗宝石在Celery任务中获取task_id
您可以执行 function_name.request.id
获取任务ID.
You can do function_name.request.id
to get task id.
这篇关于如何从当前运行的共享任务本身获取celery django中的任务ID?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!