在我的views.py
我正在使用芹菜来运行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
现在,我们已经看到task.id
中的views.py
已经有了task_id。但是,让我们说如果我想从shared_task本身获取任务ID,我该怎么办?目标是从task_addnums
本身获取任务ID,以便我可以使用它来传递到其他一些功能。
考虑到第一个参数是self.request.id
,我尝试使用self
。但它没有奏效。
答案 0 :(得分:0)
答案 1 :(得分:0)
current_task
将获得当前任务。代码如下:
from celery import shared_task, current_task
@shared_task
def task_addnums():
print(current_task.request)
# do something
return True