Django Amazon Elastic Beanstalk上使用RabbitMQ的芹菜超时异常
我试图在我的Beanstalk环境中使用芹菜(这是完成我的项目的技术堆栈的最后一部分:p)。 这就是我到目前为止所做的:Django Amazon Elastic Beanstalk上使用RabbitMQ的芹菜超时异常,django,amazon-web-services,rabbitmq,celery,amazon-elastic-beanstalk,Django,Amazon Web Services,Rabbitmq,Celery,Amazon Elastic Beanstalk,我试图在我的Beanstalk环境中使用芹菜(这是完成我的项目的技术堆栈的最后一部分:p)。 这就是我到目前为止所做的: 因为,RabbitMQ是芹菜的最佳代理,而Amazon不提供专门的服务。我创建了一个基于Ubuntu13 64位的定制AMI 已安装RabbitMQ 已删除默认用户guest/guest 创建了一个自定义用户 已创建自定义虚拟主机 已安装的管理插件 使用http API测试我的配置,以确认我的RabbitMQ服务器已启动并正在运行 到目前为止还不错!然后在我的beanst
- 因为,RabbitMQ是芹菜的最佳代理,而Amazon不提供专门的服务。我创建了一个基于Ubuntu13 64位的定制AMI
- 已安装RabbitMQ
- 已删除默认用户guest/guest
- 创建了一个自定义用户
- 已创建自定义虚拟主机
- 已安装的管理插件
- 使用http API测试我的配置,以确认我的RabbitMQ服务器已启动并正在运行李>
04_celery_periodic_tasks:
command: "celery worker --app=com.cygora --loglevel=info --beat --autoreload -n period_tasks_worker.%h"
leader_only: true
05_celery_standard_worker:
command: "celery worker --app=com.cygora --loglevel=info --autoreload -n worker_1.%h"
一旦我部署了我的应用程序,我就没有发现任何与芹菜相关的错误(因此我假设从“Python/Django方面”来看一切正常)。。。但当我使用我的网站的一个功能,需要通过芹菜向兔子发送消息时,我得到一个超时异常:
[Thu Feb 20 22:01:24 2014] [error] File "/opt/python/run/venv/lib/python2.7/site-packages/kombu/transport/pyamqp.py", line 111, in establish_connection
[Thu Feb 20 22:01:24 2014] [error] conn = self.Connection(**opts)
[Thu Feb 20 22:01:24 2014] [error] File "/opt/python/run/venv/lib/python2.7/site-packages/amqp/connection.py", line 165, in __init__
[Thu Feb 20 22:01:24 2014] [error] self.transport = create_transport(host, connect_timeout, ssl)
[Thu Feb 20 22:01:24 2014] [error] File "/opt/python/run/venv/lib/python2.7/site-packages/amqp/transport.py", line 274, in create_transport
[Thu Feb 20 22:01:24 2014] [error] return TCPTransport(host, connect_timeout)
[Thu Feb 20 22:01:24 2014] [error] File "/opt/python/run/venv/lib/python2.7/site-packages/amqp/transport.py", line 89, in __init__
[Thu Feb 20 22:01:24 2014] [error] raise socket.error(last_err)
[Thu Feb 20 22:01:24 2014] [error] error: timed out
我在设置中将代理url指定为:
BROKER_URL = "amqp://myuser:mypassword@myelasticip:5672/myvirtualhost"
我错过了什么或者我做错了什么?为什么无法建立套接字连接?我忘了我问过这个问题。。。反正我解决了。这只是为RabbitMQ打开正确的TCP端口的问题: 二十二 15672 5672
我还改变了运行芹菜的方式,通过使用supervisor+django supervisor来正确地对其进行后台监控:)您可以分享一下将芹菜作为后台程序运行的解决方案吗?我很想知道你是怎么设置的。我提出了一个解决方案,正如我在下面的回答中所描述的,我很有兴趣与你做的事情进行比较我也很好奇,我想与你进行一次小讨论。。。能给我你的电子邮件吗?(我的名字是:davidezanotti(at)gmail.com)同上,我也想听听关于在电子商务中监控芹菜的细节。