芹菜:按任务id获取函数名?

2024-10-03 13:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用celery ^{}处理程序来记录所有失败的任务,以便进行调试和分析。我想知道失败的任务的任务名(函数名),我怎样才能得到?在

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查询函数名并不好玩


Tags: 函数nameselfidformattaskreturndef