5

漫长的夜晚......无法让我的第二个 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用户和虚拟主机
  • 更新了 Django settings.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 安装 rabbitmq-server

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


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

4

2 回答 2

3

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

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

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

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

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

HTH。

于 2011-03-19T14:45:48.063 回答
1

我在安装 rabbitmq-server 时确实遇到了这个问题,而我正在安装 chef。为我解决的工作和这个问题的解决方案如下。

    $ sudo vim /etc/hosts

然后加。

    127.0.0.1 <hostname>

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

    $ hostname

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

    $ sudo service rabbitmq-server start

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

于 2013-02-25T07:16:25.810 回答