sql >> Base de Datos >  >> NoSQL >> MongoDB

Excepción de tiempo de espera de socket en Mongo

¿Estos tiempos de espera ocurrieron después de períodos de inactividad? Es probable que su conjunto de conexiones se haya vuelto obsoleto después de permanecer inactivo durante demasiado tiempo.

Si es así, hay dos formas de hacerlo:

  1. Detecte las excepciones de tiempo de espera del socket, y su solicitud inmediata debería poder acceder a un grupo de conexiones nuevo. (esto es si la opción de reconexión automática en su objeto de conexión se deja en verdadero, que es el valor predeterminado).

  2. Use un keep-alive personalizado para hacer ping al servidor mongod periódicamente usando el mismo grupo de conexiones, para que el grupo permanezca actualizado.

La opción 1 es fácil de implementar, pero el tiempo de espera predeterminado del socket es de alrededor de 30 segundos, lo que es bastante excesivo. Puede cambiar esta configuración según sea necesario.

La opción 2 es un truco, ya que implica la creación de subprocesos.