【发布时间】:2011-11-20 23:23:41
【问题描述】:
我正在尝试配置一个 Django 项目以使用 Celery(我在 Debian Squeeze 上使用 Django 1.3)
我安装了 django-celery (2.3.3) 然后关注these instructions。
我的 django celery 设置如下:
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"
当我尝试使用...启动 celery worker 服务器时
$ python manage.py celeryd -l info
我得到以下输出,末尾带有“Consumer: Connection Error: [Errno 111]”:
/home/thomas/virtualenv/ULYSSE/lib/python2.6/site-packages/djcelery/loaders.py:84: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never "
[2011-09-20 12:14:00,645: WARNING/MainProcess]
-------------- celery@debian v2.3.3
---- **** -----
--- * *** * -- [Configuration]
-- * - **** --- . broker: amqp://guest@localhost:5672//
- ** ---------- . loader: djcelery.loaders.DjangoLoader
- ** ---------- . logfile: [stderr]@INFO
- ** ---------- . concurrency: 1
- ** ---------- . events: OFF
- *** --- * --- . beat: OFF
-- ******* ----
--- ***** ----- [Queues]
-------------- . celery: exchange:celery (direct) binding:celery
[Tasks]
. competitions.tasks.add
[2011-09-20 12:14:00,788: INFO/PoolWorker-1] child process calling self.run()
[2011-09-20 12:14:00,795: WARNING/MainProcess] celery@debian has started.
[2011-09-20 12:14:00,809: ERROR/MainProcess] **Consumer: Connection Error: [Errno 111] Connection refused. Trying again in 2 seconds**...
显然,我的设置已正确读取(参见输出中的配置部分)并且工作进程已正确启动(“celery@debian 已启动”)
我不明白为什么会附加这个“Consumer: Connection Error: [Errno 111]”错误...
这与 BROKER_USER 和 BROKER_PASSWORD 设置有关吗?
我尝试了不同的用户/密码设置(我的帐户、root 帐户...),但我总是遇到同样的错误。 'BROKER_USER' 和 'BROKER_PASSWORD 是指操作系统用户、数据库用户还是“代理”用户?
我怎样才能摆脱这个连接错误?
【问题讨论】: