3

我试图在 stackoverflow 和谷歌上搜索相关问题,但没有找到可以解决我的问题的东西。

我在 /etc/default/celeryd 配置中将 BROKER_URL 设置为 redis。BROKER_URL="redis://localhost:6379"

但是当我启动 /etc/init.d/celeryd start

它说:“错误/MainProcess] 消费者:无法连接到 amqp://guest@127.0.0.1:5672//:”

同样在文档页面上,我看到了有关 celeryconfig.py 的信息。我不明白为什么我应该有两个配置文件?/etc/default/celeryd 用于配置。

4

2 回答 2

2

如果您将命名空间设置CELERY_BROKER_URL为.BROKER_URLapp.config_from_object("django.conf:settings", namespace="CELERY")

参考:http ://docs.celeryproject.org/en/latest/history/whatsnew-4.0.html#latentcall-django-admonition

于 2018-11-08T02:57:27.523 回答
1

确保broker在定义应用时没有设置。当我从教程中复制和粘贴代码时,这让我有点吃惊。我花了几个小时才意识到我用这条线覆盖了我自己的配置:

app = Celery('tasks', broker='amqp://guest@localhost//')

它应该这样说:

app = Celery('tasks')
于 2013-11-12T19:40:46.820 回答