我正在使用芹菜中的任务继承来重试(max_retries: 3
(某些异常,并记录失败。
on_failure
是在每次尝试失败时调用,还是仅在最后一次尝试(在我的情况下是第三次(之后调用?
def __call__(self, *args, **kwargs):
try:
return self.run(*args, **kwargs)
except InterfaceError as exc:
self.retry(exc=exc, countdown=5, max_retries=3)
def on_failure(self, exc, task_id, args, kwargs, einfo):
log(exc) # This is a gross simplification of the logging
对此进行了测试,只有在重试全部失败后才会运行on_ffailure。
因此,使用上面给出的示例,在第三次失败之后调用on_ffailure。