2015-04-21 7 views
9

Koleksiyondaki her belgeyi güncelleştirmek için bir python kodu yazıyorum.pymongo.errors.AutoReconnect ile nasıl başa çıkılır? Bağlantı kapalı mı?

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

herkes bu sorunla başa çıkmak için nasıl biliyor mu: Bu kodu çalıştırdığınızda, ben sorunu tanıştım Ancak

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}}}) 

: Kodum gibidir? Bununla başa çıkmak için koduma bir şey eklemem gerekir mi?

cevap

0

PyMongo itibaren Docs - oto- için

istisna pymongo.errors.AutoReconnect (mesaj = '', hatalar = Yok)

veritabanına bir bağlantı kesildiğinde Yükseltilmiş ve bir girişim yeniden bağlantı yapılacaktır.

Otomatik olarak yeniden bağlanmak için, numaralı telefonu tanımanın, bu işlemin başarılı olmasının zorunlu olmadığını anlamanız gerekir. Gelecekteki işlemler, veritabanına yeni bir bağlantı açmaya çalışacaktır (ve bu ilk özel durumu, ilk başarılı bağlantı yapılıncaya kadar yükseltmeye devam edecektir). Temelde

uygulama Mongo yeniden bağlanır ve başarısız işlevi yeniden çalıştırır, böylece bu durum ele almak gerekecek ..