我试图在stackoverflow和谷歌上搜索相关问题,但没有找到可以解决我的问题的东西。
我已经在我的/etc/default/celeryd 配置中BROKER_URL设置为 redis 的。BROKER_URL="redis://localhost:6379"
但是当我开始/etc/init.d/celeryd 开始时
它说:"错误/主进程]消费者:无法连接到 amqp://guest@127.0.0.1:5672//:"
同样在文档页面上,我看到了大约 celeryconfig.py。我不明白为什么我应该有两个配置文件?/etc/default/celeryd 用于配置。
将命名空间设置为app.config_from_object("django.conf:settings", namespace="CELERY")
,则可以尝试CELERY_BROKER_URL
而不是BROKER_URL
。
参考: http://docs.celeryproject.org/en/latest/history/whatsnew-4.0.html#latentcall-django-admonition
定义应用时未设置broker
。 当我从教程中复制和粘贴代码时,这个咬了我。 我花了几个小时才意识到我用这一行覆盖了我自己的配置:
app = Celery('tasks', broker='amqp://guest@localhost//')
它应该这样说:
app = Celery('tasks')