關於celery連接rabbitMQ錯誤:ConnectionResetError: [Errno 104] Connection reset by peer

爬蟲使用celery從RabbitMQ取數據的時候,會遇到這個錯誤,關於錯誤的原因在於:網絡不穩定或者連接時間過長.我的原因是在於時間過長,因爲爬蟲消化需要一定的時間.

下面開始我的填坑之路:
1、在github issue裏面,發現有人跟我是同樣的錯誤,遂採用它得到的解決辦法:
broker_pool_limit = None

在這裏插入圖片描述

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

在這裏插入圖片描述
在這裏插入圖片描述

結論: 不行.
3 升級mac的openssl版本
看到一個說是mac的ssl版本會影響這個問題,在Ubuntu服務器上跑了,然後也升級了mac的openssl版本. 結論:不行.
4 累了,放棄探究原因,用try catch,當出現這個錯誤的時候,重新連接一遍.
try:
    ......
except ConnectionResetError:
    連接MQ代碼
finally:
	關閉連接  # 此爲正解.
結論:可以, 爬蟲正常運行.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章