CELERY_IMPORTS和CELERY_RESULT_BACKEND已被弃用。如何使用替代方案?

5

在Celery 5.0.2中,当像下面这样设置Celery的配置时

CELERY_BROKER_URL='amqp://localhost',
CELERY_IMPORTS=('my_tasks', 'callbacks'),
CELERY_RESULT_BACKEND='rpc://')

关于 CELERY_IMPORTSCELERY_RESULT_BACKEND弃用警告消息提示,将在版本 6.0.0 中出现,建议使用alternative=f'Use the {_TO_NEW_KEY[setting]} instead'

请问有人能解释一下这是什么意思吗?

2个回答

7

只需运行此命令。

celery upgrade settings path/to/settings.py

设置文件应该是您添加了celery设置的地方。

这将自动更新以下内容:

CELERY_ACCEPT_CONTENT = ['**']
CELERY_BROKER_URL = "**"
CELERY_TIMEZONE = "**"
CELERY_RESULT_BACKEND = "**"

转化为这样

accept_content = ['**']
CELERY_broker_url = "**"
timezone = "**"
result_backend = "**"

1
这个对Django-celery也适用吗? - Shiv Krishna Jaiswal

0

因此完整的错误信息是:

    The 'CELERY_RESULT_BACKEND' setting is deprecated and scheduled for removal in
    version 6.0.0. Use the result_backend instead

4.0版本开始,建议将CELERY_RESULT_BACKEND替换为result_backend

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中相当长一段时间以来一直使用的方式。只要它起作用,请继续使用。尽管如此,这只是我的个人意见。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接