本文介绍了芹菜:通过任务ID获取函数名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用celery on_failure
处理程序,记录所有失败的任务以进行调试和分析.我想知道失败任务的任务名称(函数名称),我该如何获取?
I am using celery on_failure
handler to logging all failed tasks for debugging and analysis. And I want to know the task name(function name) of the failed task, how can I get that?
from celery import Task
class DebugTask(Task):
abstract = True
def after_return(self, *args, **kwargs):
print('Task returned: {0!r}'.format(self.request))
def on_failure(self, exc, task_id, args, kwargs, einfo):
func_name = get_func_name_by_task_id(task_id) # how do I do this?
print "{} failed".format(func_name) # expected out: add failed.
@app.task(base=DebugTask)
def add(x, y):
return x + y
PS:我知道有 task_id
,但是每次通过 task_id
来查询函数名称都不好玩,
PS: I know there is task_id
, but query function name by task_id
every time is not fun,
推荐答案
快速浏览文档显示 Task.name
.
Quick look at the documentation shows Task.name
.
这篇关于芹菜:通过任务ID获取函数名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!