gpt4 book ai didi

python - 如何为 Celery 任务实现自动重试

转载 作者:太空狗 更新时间:2023-10-29 17:42:50 24 4
gpt4 key购买 nike

在 Celery 中,如果出现异常,您可以重试任何任务。你可以这样做:

@task(max_retries=5)
def div(a, b):
try:
return a / b
except ZeroDivisionError, exc:
raise div.retry(exc=exc)

在这种情况下,如果你想除以零,任务将被重新执行五次。但是您必须显式检查代码中的错误。如果您跳过 try-except block ,任务将不会重新启动。

我希望我的函数看起来像:

@celery.task(autoretry_on=ZeroDivisionError, max_retries=5)
def div(a, b):
return a / b

最佳答案

Celery(从 4.0 版开始)正是您要找的东西:

@app.task(autoretry_for=(SomeException,))
def my_task():
...

参见:http://docs.celeryproject.org/en/latest/userguide/tasks.html#automatic-retry-for-known-exceptions

关于python - 如何为 Celery 任务实现自动重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com