连接问题 - 芹菜/ Django

Rad*_*Hex 5 python django ubuntu rabbitmq celery

漫漫长夜......无法让我的第二个Celery/RabbitMQ设置运行起来.

步骤1

sudo rabbitmq-server
Run Code Online (Sandbox Code Playgroud)

跑:好的!

第2步

python manage.py celeryd -l info
Run Code Online (Sandbox Code Playgroud)

错误: [2010-12-28 03:38:24,690: ERROR/MainProcess] CarrotListener: Connection Error: Socket closed. Trying again in 28 seconds...


我肯定:

  • 添加了rabbitmq用户和vhost
  • 更新了Django setings.py

编辑:

我认为可能需要从.deb而不是apt-get安装.

卸载deb并安装apt-get版本后,我得到了这个:

invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

我的解决方案

apt-get --purge删除rabbitmq-server

apt-get install rabbitmq-server

......没有评论......也许需要一些睡眠:)


关于如何调试这个的任何想法?:|

Rob*_*bin 3

检查您正在使用的 RabbitMQ 的不同版本,较新的版本具有新功能,并且可能与 Celery 不兼容。我的机器上有最新的 2.3.1 版本,从 RabbitMQ deb 安装,这可以正常工作,除非您需要使用 SSL,在这种情况下您必须安装更新版本的 Erlang/OTP,这很痛苦。

另外,最好使用 init 脚本来启动代理:

sudo /etc/init.d/rabbitmq-server start
Run Code Online (Sandbox Code Playgroud)

如果您从初始化脚本启动代理,如果问题仍然存在,您应该能够查看代理错误日志:

sudo tail -f /var/log/rabbit@<your-local-host>.log
Run Code Online (Sandbox Code Playgroud)

HTH。