如何处理pymongo.errors.AutoReconnect:连接关闭?

时间:2015-04-21 19:26:01

标签: python database-connection pymongo

我正在编写一个python代码来更新集合中的每个文档。我的代码就像:

for r, d_50 in enumerate(grid50.find().batch_size(500)):
    self_grid = grid50.find({'_id':d_50['_id']})
    .....
    .....
    (processing process)
    grid50.update({'_id':d_50['_id']},{'$set':{u'big_cell8':{"POI":venue_count, "cell_ids":cell_ids}}})

然而,当我运行此代码时,我遇到了问题:

   raise AutoReconnect(str(e))
   pymongo.errors.AutoReconnect: connection closed

有谁知道如何处理这个问题?我应该在代码中添加一些内容来处理这个问题吗?

1 个答案:

答案 0 :(得分:1)

来自PyMongo Docs -

  

异常pymongo.errors.AutoReconnect(消息='',错误=无)

     

当与数据库的连接丢失并尝试进行时引发   将自动重新连接。

     

为了自动重新连接,您必须处理此异常,并进行识别   导致它的操作未必成功。   未来的操作将尝试打开一个新的连接   数据库(并将继续将此异常提升到第一个   成功连接)。

基本上你必须处理这个异常,以便应用程序重新连接到mongo并重新运行失败的函数。