python - 基于芹菜类的任务没有重试
问题描述
我有一个基于类的芹菜任务,定义如下:
class MyTask(Task):
name = "MY_TASK"
autoretry_for = (Exception, )
retry_kwargs = {'max_retries': 5}
retry_backoff = True
retry_backoff_max = 700
retry_jitter = False
def run(self, service, *args, **kwargs):
pass
# do something
# return some value
def on_failure(self, exc, task_id, args, kwargs, einfo):
# can extend failure method if needed
super().on_failure(exc, task_id, args, kwargs, einfo)
app.tasks.register(MyTask())
我的任务正在完美执行。但是当发生异常时,任务不会重试
我的 celery 版本是 4.4.2
而 python 版本是 3.8.2
解决方案
这是 celery 中的一个错误,已在 PR 中修复:https ://github.com/celery/celery/pull/6233
推荐阅读
- wpf - Uri.TryCreate() 和 IsWellFormedUriString() 都是真的,但仍然“找不到资源”
- vb.net - VB.NET Why does this regex return false?
- javascript - 如何在 Javascript 文件中运行 Python 函数?
- python - 我想将来自一台服务器的每条消息记录到一个文件中,但出现错误
- powershell - 如果它使用 -Wait 参数运行,如何更改 powershell 中进程的优先级?
- github - 使用令牌将一些代码推送到 GitHub - “已删除对密码身份验证的支持”
- javascript - 如何从 Next.js 或 Express.js 应用程序向前端发送 json 对象流?
- qt - mingw32-make:尝试构建 qtwebengine 时,“第一”无事可做
- flutter - 如何增加按钮高度
- api - 使用 Graph API 查询 Office 365 组的草稿文件夹