MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Защо PyMongo хвърля AutoReconnect?

Не разбирате AutoReconnect. Повдига се, когато драйверът се опита да комуникира със сървъра (да изпрати команда или друга операция) и възникне мрежова грешка или подобен проблем. Името на изключението има за цел да съобщи, че не го правите трябва да създадете нов екземпляр на MongoClient, съществуващият клиент ще се опита да се свърже отново автоматично, когато приложението ви опита следващата операция. Ако възникне същия проблем, AutoReconnect се повдига отново.

Подозирам, че причината да виждате таймаут на сокетите (и AutoReconnect да се повдига) е, че има балансьор на натоварването между сървъра и вашето приложение, който затваря връзките след известен период на неактивност. Например, това очевидно се случва на платформата Azure на Microsoft след 13 минути липса на активност в сокет. Може да успеете да поправите това, като използвате опцията socketKeepAlive, добавена в PyMongo 2.8. Обърнете внимание, че ще трябва също да зададете подходяща стойност за интервала на поддържане на активността на вашия сървър на приложения (по подразбиране за Linux е 2 часа). Вижте тук за повече информация.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Все още ли се поддържат ограниченията за уникалност на ниво поле в Mongo(ose)?

  2. MongoDB предпочитана схема за вградени колекции. документи срещу масиви

  3. Архивиране и възстановяване на MongoDB

  4. Получаване на com.mongodb.MongoException$DuplicateKey в mongodb с java с помощта на upsert

  5. Mongodb и подмасив за сортиране