猿问

重试时celery何时调用on_failure

我在 celery 中使用任务继承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


智慧大石
浏览 121回答 1
1回答

慕田峪4524236

对此进行了测试, on_failure 仅在重试全部失败后运行。因此,使用上面给出的示例, on_failure 在第三次失败后被调用。
随时随地看视频慕课网APP

相关分类

Python
我要回答