我在 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
1 回答
慕田峪4524236
TA貢獻1875條經(jīng)驗 獲得超5個贊
對此進行了測試, on_failure 僅在重試全部失敗后運行。
因此,使用上面給出的示例, on_failure 在第三次失敗后被調用。
添加回答
舉報
0/150
提交
取消
