关于rabbitmq 10054 强制关闭连接错误的处理 |
您所在的位置:网站首页 › Redis报错远程主机断开一个现有连接 › 关于rabbitmq 10054 强制关闭连接错误的处理 |
不排版了简单说一下解决办法 参考文章 https://github.com/pika/pika/issues/753 说明一下情况(python)消费者进行消息处理过程中耗时时间较长,rabbitmq会在30s之后进行关闭连接,查看连接在30s之后强制关闭 解决办法 hearbeat设置为0 核心代码 connection = pika.BlockingConnection(pika.ConnectionParameters( host='127.0.0.1',port=5672,virtual_host='/',credentials=credentials,heartbeat=0)) 添加channel.basic_qos(prefetch_count=1) 每次接收一条消息进行处理 详情阅读源码 channel.basic_qos(prefetch_count=1) channel.basic_consume(queue='upload_data', # auto_ack=True,# 默认应答,很可能因为回调函数造成数据丢失,改为手动应答 auto_ack=False, on_message_callback=upload_data) 多线程进行消息处理 一个线程进行心跳回复消息确认 另一个线程进行消息处理缺点: 当队列中有大量消息时,处理消息的线程忙等 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |