如何解决CELERY_IMPORTS、CELERY_RESULT_BACKEND 已弃用如何使用替代?
在 celery 5.0.2 中像这样设置 celery 的配置时
CELERY_broKER_URL='amqp://localhost',CELERY_IMPORTS=('my_tasks','callbacks'),CELERY_RESULT_BACKEND='rpc://')
已弃用有关 CELERY_IMPORTS
和 CELERY_RESULT_BACKEND
的警告
alternative=f'Use the {_TO_NEW_KEY[setting]} instead')
出现在 6.0.0 版中。
谁能解释一下这是什么意思?
解决方法
所以完整的错误信息是
The 'CELERY_RESULT_BACKEND' setting is deprecated and scheduled for removal in
version 6.0.0. Use the result_backend instead
建议将 CELERY_RESULT_BACKEND
替换为 result_backend
,因为 4.0。
4.0 版引入了新的小写设置和设置 组织。
所以可能我们将不得不改变在工作器中导入设置的方式。
以前是
app.config_from_object('django.conf:settings',namespace='CELERY')
我们可能会使用
app.config_from_object('django.conf:settings')
在设置中
result_backend='rpc://'
运行此命令
celery upgrade settings --django
应该自己进行必要的更改,尽管它可能需要一些改进,因为 GH 上有一张票。
Celery 有很多活动部分,所以我最好等到 6.0 发布后再进行所有必要的更改。您使用 celery 设置的方式是过去很长一段时间在 Django 中使用的方式。只要它有效,就坚持下去。不过,这只是我的意见。
,关于此设置的更改,当 CELERY_RESULT_EXTENDED = True
或 RESULT_EXTENDED = True
都被忽略时(使用芹菜 4.4.7 和 5.0.5 进行测试,使用 redis 后端),知道吗?
有一些看起来相似但没有合并的旧拉取请求,看起来:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。