sql >> Database >  >> NoSQL >> MongoDB

Uitzondering socket time-out in Mongo

Zijn deze time-outs opgetreden na perioden van inactiviteit? Het is waarschijnlijk dat uw verbindingspool verouderd is nadat deze te lang inactief is geweest.

Zo ja, dan zijn er twee manieren om dit aan te pakken:

  1. Vang de socket-time-outuitzonderingen en uw onmiddellijke verzoek zou toegang moeten hebben tot een nieuwe verbindingspool. (dit is als de optie voor automatisch opnieuw verbinden in uw verbindingsobject is ingesteld op true, wat standaard is.)

  2. Gebruik een aangepaste keep-alive om de mongod-server periodiek te pingen met dezelfde verbindingspool, zodat de pool vers blijft.

Optie 1 is eenvoudig te implementeren, maar de standaard socket-time-out is ongeveer 30 seconden, wat nogal overdreven is. U kunt deze instelling naar wens wijzigen.

Optie 2 is een beetje een hack, met threading.




  1. Aantal exemplaren tellen in genest mongodb-document en groep behouden

  2. MongoDB - Aggregatie - Om unieke items in een array te krijgen

  3. mgo:hoe een specifieke array in een document bij te werken

  4. MongoDB en BIRT-rapportage?