我创建了一个烧瓶应用程序来处理GNSS数据。某些功能需要花费大量时间才能执行。因此,我已经集成芹菜来执行这些功能作为异步任务。首先,我通过添加消息代理作为rabbitmq
在localhost中测试了应用程序app.config['CELERY_BROKER_URL']='amqp://localhost//'
app.config['CELERY_RESULT_BACKEND']='db+postgresql://username:pssword@localhost/DBname'
在virtualenv中完全测试了应用程序后,我在heroku上部署了它并添加了rabbitmq插件。然后我按如下方式更改了app.config
。
app.config['CELERY_BROKER_URL']='amqp://myUsername:Mypassowrd@small-fiver-23.bigwig.lshift.net:10123/FlGJwZfbz4TR'
app.config['CELERY_RESULT_BACKEND']='db+postgres://myusername:Mypassword@ec2-54-163-246-193.compute-1.amazonaws.com:5432/dhcbl58v8ifst/MYDB'
在改变上述之后,我跑了芹菜工人
celery -A app.celery worker --loglevel=info
并收到此错误
[2018-03-16 11:21:16,796: ERROR/MainProcess] consumer: Cannot connect to amqp://SHt1Xvhb:**@small-fiver-23.bigwig.lshift.net:10123/FlGJwZfbz4TR: timed out.
如何检查我的heroku插件是否可以在Rabbitmq管理控制台中使用
答案 0 :(得分:0)
似乎端口10123未暴露。您是否可以从服务器尝试telnet small-fiver-23.bigwig.lshift.net 10123
,看看您是否能够成功连接到服务器?
如果没有,您必须公开该端口,以便从您尝试连接的服务器进行访问。