sql >> Database >  >> NoSQL >> MongoDB

Waarom gooit PyMongo AutoReconnect?

Je begrijpt AutoReconnect niet goed. Het wordt weergegeven wanneer het stuurprogramma probeert te communiceren met de server (om een ​​opdracht of andere bewerking te verzenden) en er een netwerkstoring of een soortgelijk probleem optreedt. De naam van de uitzondering is bedoeld om aan te geven dat u niet een nieuw exemplaar van MongoClient moet maken, probeert de bestaande client automatisch opnieuw verbinding te maken wanneer uw toepassing de volgende bewerking probeert. Als hetzelfde probleem zich voordoet, wordt AutoReconnect opnieuw geactiveerd.

Ik vermoed dat de reden dat je sockets-time-out ziet (en AutoReconnect wordt verhoogd) is dat er een load balancer is tussen de server en je applicatie die verbindingen verbreekt na een bepaalde periode van inactiviteit. Dit gebeurt bijvoorbeeld blijkbaar op het Azure-platform van Microsoft na 13 minuten geen activiteit op een socket. U kunt dit mogelijk oplossen door de socketKeepAlive-optie te gebruiken, toegevoegd in PyMongo 2.8. Merk op dat u ook het keepalive-interval op uw applicatieserver op een geschikte waarde moet instellen (de standaard op Linux is 2 uur). Kijk hier voor meer informatie.




  1. Waar MongoDB-kaart / reduceerfuncties in Java-project te schrijven en op te slaan?

  2. Spring mongo repository slice

  3. Voor- en nadelen van het gebruik van Celery vs. RQ

  4. Kubernetes NFS-opslag met behulp van PV en PVC