连接问题 - 芹菜/ Django

时间:2010-12-28 03:49:21

标签: python django ubuntu rabbitmq celery

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

第1步

sudo rabbitmq-server

运行:确定!

第2步

python manage.py celeryd -l info

错误:[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)

我的解决方案:

  

apt-get --purge删除rabbitmq-server

     

apt-get install rabbitmq-server

...没有评论......可能需要一些睡眠:)


关于如何调试此问题的任何想法? :|

2 个答案:

答案 0 :(得分:3)

检查您正在使用的RabbitMQ的不同版本,较新版本具有新功能,并且可能与Celery不兼容。我在我的机器上安装了最新的2.3.1版本,从RabbitMQ deb安装,除非你需要使用SSL,否则你必须安装更新版本的Erlang / OTP,这很有效。 / p>

此外,使用init脚本启动代理可能更好:

sudo /etc/init.d/rabbitmq-server start

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

sudo tail -f /var/log/rabbit@<your-local-host>.log

HTH。

答案 1 :(得分:1)

我在安装rabbitmq-server时遇到了这个问题,而我正在安装厨师。 我的工作和解决这个问题的方法如下:

    $ sudo vim /etc/hosts

然后添加。

    127.0.0.1 <hostname>

这是您的主机名,如果不确定主机名,请运行以下命令:

    $ hostname

结果是您的主机名。只需将其添加到/ etc / hosts,然后运行:

    $ sudo service rabbitmq-server start

它开始了。:) 这对我有用。 感谢您抽出时间阅读。:)