2015-04-21 85 views
9

我正在写一个Python代码来更新集合中的每个文档。我的代码是这样的:如何处理pymongo.errors.AutoReconnect:连接已关闭?

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 

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

回答

0

从PyMongo Docs -

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

当与数据库的连接丢失的高位和企图 自动将重新连接。

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

基本上你将不得不处理这个异常,以便应用程序重新连接到蒙戈并重新运行失败的功能..

相关问题