微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CELERY_IMPORTS、CELERY_RESULT_BACKEND 已弃用如何使用替代?

如何解决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_IMPORTSCELERY_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 = TrueRESULT_EXTENDED = True 都被忽略时(使用芹菜 4.4.75.0.5 进行测试,使用 redis 后端),知道吗?

有一些看起来相似但没有合并的旧拉取请求,看起来:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。