lev*_*lev 5 python celery celery-task django-celery
我想在正在运行的任务中获取任务ID,而不知道我在哪个任务.(这就是为什么我不能使用/sf/answers/566726051/)
我希望它是这样的:
@task
def my_task():
foo()
def foo():
logger.log(current_task_id)
Run Code Online (Sandbox Code Playgroud)
这种模式在许多不同的任务中返回,我不想将任务上下文带到每个内部方法调用.
一个选项可能是使用线程本地存储,但是我需要在任务启动之前初始化它,并在完成后清理它.
有什么比这更简单的了吗?
from celery import current_task
print current_task.request.id
Run Code Online (Sandbox Code Playgroud)
我只是从评论中复制这个,因为它应该是一个答案,所以感谢@asksol.
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |