如何从当前运行的共享任务本身获取芹菜 django 中的任务 ID?



在我的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.idtask_idviews.py.但是,假设我想从shared_task本身获取任务 id,我该怎么做?目标是从task_addnums本身获取任务 ID,以便我可以使用它来传递到其他函数中。 考虑到第一个参数是self,我尝试使用self.request.id.但它没有奏效。

已解决。

这个答案是一颗宝石 在芹菜任务中获取task_id

您可以执行function_name.request.id来获取任务 ID。

来自芹菜的current_task将获得当前任务。像这样编写代码:

from celery import shared_task, current_task
@shared_task
def task_addnums():
print(current_task.request)
# do something
return True

相关内容

  • 没有找到相关文章