关于celery连接rabbitMQ错误:ConnectionResetError: [Errno 104] Connection reset by peer

爬虫使用celery从RabbitMQ取数据的时候,会遇到这个错误,关于错误的原因在于:网络不稳定或者连接时间过长.我的原因是在于时间过长,因为爬虫消化需要一定的时间.

下面开始我的填坑之路:
1、在github issue里面,发现有人跟我是同样的错误,遂采用它得到的解决办法:
broker_pool_limit = None

关于celery连接rabbitMQ错误:ConnectionResetError: [Errno 104] Connection reset by peer_第1张图片

结论: 不行.
2 在kombu 包的pidbox文件的reply方法中加入:
retry=True

在这里插入图片描述
在这里插入图片描述

结论: 不行.
3 升级mac的openssl版本
看到一个说是mac的ssl版本会影响这个问题,在Ubuntu服务器上跑了,然后也升级了mac的openssl版本. 结论:不行.
4 累了,放弃探究原因,用try catch,当出现这个错误的时候,重新连接一遍.
try:
    ......
except ConnectionResetError:
    连接MQ代码
finally:
	关闭连接  # 此为正解.
结论:可以, 爬虫正常运行.

你可能感兴趣的:(RabbitMQ,错误,爬虫)