【发布时间】:2022-11-04 19:46:32
【问题描述】:
我正在运行一个抓取大量数据的脚本,然后使用一个函数将该数据上传到 mongodb。我一直受到连接关闭错误的打击,无法弄清楚为什么会发生这种情况,因为数据每次都会被分成 5000 组,但是当我只运行 15.000 组时,它运行良好。当我运行 50.000 组时,我得到 pymongo.errors.AutoReconnect: scrapy-01-lb.3vs0u.mongodb.net:27017: [Errno 54] Connection reset by peer
def insertData (data, collection):
try:
client = pymongo.MongoClient("mongodb+srv://admin:password@url.mongodb.net/?retryWrites=true&w=majority&socketTimeoutMS=360000&connectTimeoutMS=360000", server_api=ServerApi('1'))
collection.drop()
if data != []:
chunks = [data[x:x+5000] for x in range(0, len(data), 5000)]
for i in chunks:
print(collection.insert_many(i))
如何解决这个错误?通过在除pymongo.errors.AutoReconnect as e: 之外连续重试?
【问题讨论】:
-
i不是一个文件吗?