【发布时间】:2019-11-06 05:28:36
【问题描述】:
我希望我的应用程序中的所有异步任务在出现任何异常时都重试,并且还希望重试遵循指数退避。
@celery_app.task(autoretry_for=(Exception,))
def some_task():
...
在我的配置中
CELERY_TASK_ANNOTATIONS = {'*': {'max_retries': 5, 'retry_backoff': 5}}
max_retries 设置有效,所有任务现在在失败前重试 5 次。但所有这些都在 180 秒后重试。
我想要某种方式让所有任务都遵循retry_backoff,而不必为每个任务指定它,以便我可以随时在一个地方更改它。
【问题讨论】:
标签: celery django-celery celery-task