マングースを使用している場合、データベースがダウンしているとき、およびデータベースが再接続して再びアップしているときに、イベント(EventEmitterパターン)を発行します。
ここ
で見つかったマングースコードから ライブラリデータベース接続-
放出されるイベントは次のとおりです。*@param{Mongoose}ベースのマングースインスタンス*@inheritsNodeJS EventEmitter
https://nodejs.org/api/events.html#events_class_events_eventemitter
*@eventconnecting :connection.{open,openSet}()のときに発行されます この接続で実行されます。
-
@event
connected:この接続がデータベースに正常に接続したときに発行されます。 複数放出される可能性がありますreconnectedでの回数 シナリオ。 -
@event
open:connecting後に発行されます およびonOpenこのすべての接続モデルで実行されます。 -
@event
disconnecting:connection.close()の場合に発行されます 実行されました。 -
@event
disconnecting:データベースから切断された後に発行されます。 -
@event
close:disconnecting後に発行されます およびonCloseこのすべての接続モデルで実行されます。 -
@event
reconnected:connecting後に発行されます その後、disconnecting、続いて別の接続が成功しました。 -
@event
error:この接続でエラーが発生したときに発行されます。 -
@event
fullsetup:レプリカセットのシナリオで、接続文字列で指定されたプライマリと少なくとも1つのセカンダリが接続されている場合に発行されます。 -
@event
all:接続文字列で指定されたすべてのノードが接続されている場合に、レプリカセットシナリオで発行されます。
データベースがダウンすると、2つのイベントが発生します:1。切断2。エラー(ドライバーが発生したエラー)
データベースが再び稼働すると、再接続イベントを受け取ります。
したがって、エラーをキャッチする必要はなく、これらのイベントをリッスンする必要があります。
接続障害と再接続に関するさらに役立つ情報は、こちら 。
この記事では、設定に従ってautoReconnectとbufferMaxEntriesを使用および構成する方法について説明します。