Python 芹菜'on_error'处理程序的签名是什么?如何向其传递参数?
我看到了一个没有答案的问题: 我的第一个问题是,我们可以使用Python 芹菜'on_error'处理程序的签名是什么?如何向其传递参数?,python,celery,Python,Celery,我看到了一个没有答案的问题: 我的第一个问题是,我们可以使用on\u error(…)或apply(…,link\u error=…)传递给芹菜任务的错误处理程序的签名是什么 在上面的链接中(通过,他们的on\u错误有签名: multiple.on_failure(exc, task_id, args, kwargs, einfo) 在来自docs about的此链接中,签名为: @app.task def日志_错误(请求、exc、回溯): 将open(os.path.join('/var/e
on\u error(…)
或apply(…,link\u error=…)
传递给芹菜任务的错误处理程序的签名是什么
在上面的链接中(通过,他们的on\u错误
有签名:
multiple.on_failure(exc, task_id, args, kwargs, einfo)
在来自docs about的此链接中,签名为:
@app.task
def日志_错误(请求、exc、回溯):
将open(os.path.join('/var/errors',request.id),'a')作为fh:
打印('-\n\n{0}{1}{2}'。格式(任务id、exc、回溯),file=fh)
在文档的另一个链接中,签名为:
@app.task
def错误处理程序(uuid):
结果=异步结果(uuid)
exc=result.get(propagate=False)
打印('Task{0}引发的异常:{1!r}\n{2!r}'。格式(uuid、exc、result.traceback))
在我自己的代码库中,我看到人们使用:
def handle_错误(*args,**kwargs):
此外,您是否可以使用rdb
在on_error
处理程序内部设置断点?为什么处理程序必须是@task