Stai usando mongoose, emette eventi (il pattern EventEmitter) quando il database è inattivo e quando il database si riconnette e si riattiva.
dal codice mongoose trovato qui possiamo vedere che la connessione db della libreria - connection.js
ha i seguenti eventi che vengono emessi:* @param {Mongoose} base a mongoose instance* @inherits NodeJS EventEmitter
https://nodejs.org/api/events.html#events_class_events_eventemitter
* @event connecting :Emesso quando connection.{open,openSet}() viene eseguito su questa connessione.
-
@event
connected:Emesso quando questa connessione si connette correttamente al db. Possono essere emessi più volte inreconnectedscenari. -
@evento
open:Emesso dopo che ci siamoconnectedeonOpenviene eseguito su tutti questi modelli di connessione. -
@event
disconnecting:Emesso quandoconnection.close()è stato eseguito. -
@event
disconnected:Emesso dopo essere stato disconnesso dal db. -
@evento
close:Emesso dopo ladisconnectingeonCloseeseguito su tutti questi modelli di connessioni. -
@event
reconnected:Emesso dopo che ci siamoconnectede successivamentedisconnected, seguito da un'altra connessione riuscita. -
@evento
error:Emesso quando si verifica un errore su questa connessione. -
@event
fullsetup:Emesso in uno scenario di set di repliche, quando sono collegati il primario e almeno uno dei secondari specificati nella stringa di connessione. -
@evento
all:Emesso in uno scenario di set di repliche, quando tutti i nodi specificati nella stringa di connessione sono connessi.
Quando il database è inattivo, riceverai due eventi:1. disconnesso2. errore (l'errore riscontrato dal driver)
Quando il database sarà di nuovo attivo, riceverai l'evento di riconnessione.
Quindi non è necessario provare a catturare l'errore, ma dovresti ascoltare questi eventi.
Ulteriori informazioni utili sugli errori di connessione e sulla riconnessione sono disponibili qui .
Questo articolo spiega come utilizzare e configurare autoReconnect e bufferMaxEntries in base alle tue impostazioni.