漫漫长夜...无法让我的第二个 Celery/RabbitMQ 设置运行正常。
第一步
sudo rabbitmq-server
运行:ok!
第二步
python manage.py celeryd -l info
错误:[2010-12-28 03:38:24,690: ERROR/MainProcess] CarrotListener:连接错误:套接字已关闭。 28 秒后重试...
我肯定:
- 添加了 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
...无可奉告...可能需要睡一觉:)
关于如何调试它的任何想法? :|
最佳答案
检查您使用的 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.
关于python - 连接问题 - Celery/Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543534/