如何从当前运行的共享任务本身获取celery django中的任务ID? [英] How to get Task ID in celery django from the currently running Shared Task itself?

查看:61
本文介绍了如何从当前运行的共享任务本身获取celery django中的任务ID?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆