python – Celery通过peer提供连接重置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Celery通过peer提供连接重置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2396字,纯文字阅读大概需要4分钟。
内容图文
![python – Celery通过peer提供连接重置](/upload/InfoBanner/zyjiaocheng/786/f2671e35da9844cd98c22223497f1846.jpg)
我设置了rabbitmqserver并使用以下步骤添加了用户:
uruddarraju@*******:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.3$sudo rabbitmqctl list_users
Listing users ...
guest [administrator]
phantom [administrator]
phantom1 []
sudo rabbitmqctl set_permissions -p phantom phantom1 ".*" ".*" ".*"
uruddarraju@******:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.3$sudo netstat -tulpn | grep :5672
tcp6 0 0 :::5672 :::* LISTEN 31341/beam.smp
我的芹菜配置如下:
BROKER_URL = 'amqp://phantom:phantom1@10.98.85.92/phantom'
我的代码是这样的:
__author__ = 'uruddarraju'
from celery import Celery
import time
import celeryconfig
app = Celery('tasks')
app.config_from_object(celeryconfig)
@app.task
def add(x, y):
print 'sleeping'
time.sleep(20)
print 'awoke'
return x + y
当我试图跑
celery -A celery worker --loglevel=info
我明白了
[2014-07-08 23:30:05,028: ERROR/MainProcess] consumer: Cannot connect to amqp://phantom:**@10.98.85.92:5672/phantom:
[Errno 54] Connection reset by peer.
Trying again in 2.00 seconds...
[2014-07-08 23:30:07,101: ERROR/MainProcess] consumer: Cannot connect to amqp://phantom:**@10.98.85.92:5672/phantom:
[Errno 54] Connection reset by peer.
Trying again in 4.00 seconds...
一切看起来都很完美!!有人可以帮助我,我在这里失踪了吗?
解决方法:
我发现Connection是由对等错误引起的,并假设RabbitMQ没有在端口上监听,或者有防火墙阻止它.情况并非如此.
在Ubuntu 16.04.2 LTS上运行RabbitMQ,由apt安装的版本:3.5.7-1ubuntu0.16.04.1
Rabbit的端口5672的’netstat -a’输出看起来像:
$netstat -a|grep -i amqp
tcp6 0 0 [::]:amqp [::]:* LISTEN
但是,Rabbit实际上正在侦听IPv4地址和IPv6地址.我用netcat验证了这一点.
要从另一台计算机访问Rabbit,您必须使用以下命令设置用户帐户:
sudo rabbitmqctl add_user celery celerypassword
sudo rabbitmqctl add_vhost celery_vhost
sudo rabbitmqctl set_user_tags celery celerytag
sudo rabbitmqctl set_permissions -p celery_vhost celery .* .* .*
问题是我的网址.我看起来像:
BROKER_URL = 'amqp://celery:celerypassword@10.0.3.3//'
在倒数第二个正斜杠之后是vhost的名称.上面,我给了我的vhost名称celery_vhost.要连接,我需要将URL更改为:
BROKER_URL = 'amqp://celery:celerypassword@10.0.3.3/celery_vhost'
我发现这看着/ var / log / rabbitmq中的Rabbit日志.当我有错误的URL时,有一个.log文件包含以下错误:
{handshake_error,opening,0,
{amqp_error,access_refused,
"access to vhost '/' refused for user 'celery'",
'connection.open'}}
内容总结
以上是互联网集市为您收集整理的python – Celery通过peer提供连接重置全部内容,希望文章能够帮你解决python – Celery通过peer提供连接重置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。