python - celery:通过任务id获取函数名称?

标签 python celery

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

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

最佳答案

快速查看文档显示Task.name .

关于python - celery:通过任务id获取函数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30183602/

相关文章:

python - 如何访问 Python 3 中重新引发的异常?

python - 是否可以控制 Celery 任务日志的 datefmt?

python - Celery:每个工作人员的 task_acks_late 的不同设置/向 celery 添加自定义选项

python - 如何断言 selenium python 网络驱动程序中存在图像?

python - Pandas:根据目标分布从 DataFrame 中采样

python - 如何将返回值作为 celery chain() 中的第二个参数传递?

python - 与Celery一起分发时,Youtube API OAuth的对象失去身份验证

django - 将消息从Celery任务发送到 channel

python - 如何在 Gensim 中获取上下文单词列表

python - 使用 CSV 写入文件会添加无关的引号