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
http://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 inreconnected
Szenarien. -
@event
open
:Wird ausgegeben, nachdem wir unsconnected
haben undonOpen
wird 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 wirdisconnected
haben undonClose
auf allen diesen Verbindungsmodellen ausgeführt. -
@event
reconnected
:Wird ausgegeben, nachdem wir unsconnected
haben 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.