Sie verwenden Mongoose, es gibt Ereignisse (das EventEmitter-Muster) aus, wenn die Datenbank heruntergefahren ist und wenn die Datenbank die Verbindung wieder herstellt und wieder hochfährt.
aus dem Mongoose-Code, den Sie hier finden Wir können sehen, dass die DB-Verbindung der Bibliothek - connection.js
hat die folgenden Ereignisse, die ausgegeben werden:* @param {Mongoose} Basis einer Mungo-Instanz* @inherits NodeJS EventEmitter
https://nodejs.org/api/events.html#events_class_events_eventemitter
* @event connecting :Wird ausgegeben, wenn connection.{open,openSet}() wird auf dieser Verbindung ausgeführt.
-
@event
connected:Wird ausgegeben, wenn diese Verbindung erfolgreich eine Verbindung zur Datenbank herstellt. Darf mehrfach ausgegeben werden mal inreconnectedSzenarien. -
@event
open:Wird ausgegeben, nachdem wir unsconnectedhaben undonOpenwird auf allen diesen Verbindungsmodellen ausgeführt. -
@event
disconnecting:Wird ausgegeben, wennconnection.close()wurde hingerichtet. -
@event
disconnected:Wird ausgegeben, nachdem die Verbindung zur Datenbank getrennt wurde. -
@event
close:Wird ausgegeben, nachdem wirdisconnectedhaben undonCloseauf allen diesen Verbindungsmodellen ausgeführt. -
@event
reconnected:Wird ausgegeben, nachdem wir unsconnectedhaben und anschließenddisconnected, gefolgt von erfolgreich eine weitere erfolgreiche Verbindung. -
@event
error:Wird ausgegeben, wenn bei dieser Verbindung ein Fehler auftritt. -
@event
fullsetup:Wird in einem Replica-Set-Szenario ausgegeben, wenn primäre und mindestens eine sekundäre Verbindung, die in der Verbindungszeichenfolge angegeben sind, verbunden sind. -
@event
all:Wird in einem Replica-Set-Szenario ausgegeben, wenn alle in der Verbindungszeichenfolge angegebenen Knoten verbunden sind.
Wenn die Datenbank heruntergefahren ist, erhalten Sie zwei Ereignisse:1. getrennt2. error (der Fehler, auf den der Treiber gestoßen ist)
Wenn die Datenbank wieder hochgefahren ist, erhalten Sie das Reconnect-Ereignis.
Sie müssen also nicht versuchen, den Fehler abzufangen, sondern sollten sich diese Ereignisse anhören.
Weitere hilfreiche Informationen zu Verbindungsabbrüchen und Wiederverbindung finden Sie hier .
Dieser Artikel erklärt, wie Sie autoReconnect und die bufferMaxEntries gemäß Ihren Einstellungen verwenden und konfigurieren.