sql >> Database teknologi >  >> NoSQL >> MongoDB

Undtagelse for socket timeout i Mongo

Opstod disse time-outs efter perioder med inaktivitet? Det er sandsynligt, at din forbindelsespulje er blevet forældet efter at have været inaktiv for længe.

Hvis det er tilfældet, er der to måder at gøre dette på:

  1. Fang undtagelserne for socket-timeout, og din umiddelbare anmodning skulle kunne få adgang til en frisk forbindelsespulje. (dette er, hvis muligheden for automatisk gentilslutning i dit forbindelsesobjekt er overladt til sand, hvilket er standard.)

  2. Brug en brugerdefineret keep-alive til at pinge mongod-serveren med jævne mellemrum ved at bruge den samme forbindelsespool, så puljen forbliver frisk.

Mulighed 1 er nem at implementere, men standard socket timeout er omkring 30s, hvilket er ret overdrevet. Du kan ændre denne indstilling efter behov.

Mulighed 2 er lidt af et hack, der involverer trådning.




  1. embedmongo med reactivemongo-processen afsluttes ikke

  2. Er der nogen grunde til, at jeg bør/ikke bør bruge ObjectId'er i mine RESTful url'er

  3. Mongoose:Fjern objekt fra array baseret på ID (Cast Error)

  4. Applikationen kunne ikke starte (port 8080) ikke tilgængelig