【问题标题】:Connection problems - Celery/Django连接问题 - Celery/Django
【发布时间】:2010-12-28 03:49:21
【问题描述】:

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

步骤 1

sudo rabbitmq-server

运行:好的!

第二步

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 remove rabbitmq-server

apt-get install rabbitmq-server

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


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

【问题讨论】:

  • 您添加了一个虚拟主机和用户,您是否设置了权限? sudo rabbitmqctl set_permissions -p <vhost> <user> ".*" ".*" ".*"
  • 我也有同样的问题。您只是清除然后重新安装的解决方案就像一个魅力。 :)

标签: python django ubuntu rabbitmq celery


【解决方案1】:

检查您正在使用的不同版本的 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。

【讨论】:

    【解决方案2】:

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

        $ sudo vim /etc/hosts
    

    然后添加。

        127.0.0.1 <hostname>
    

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

        $ hostname
    

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

        $ sudo service rabbitmq-server start
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-28
      • 2015-09-19
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2016-06-23
      相关资源
      最近更新 更多