マングースを使用している場合、データベースがダウンしているとき、およびデータベースが再接続して再びアップしているときに、イベント(EventEmitterパターン)を発行します。
ここ
で見つかったマングースコードから ライブラリデータベース接続-
放出されるイベントは次のとおりです。*@param{Mongoose}ベースのマングースインスタンス*@inheritsNodeJS EventEmitter
http://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を使用および構成する方法について説明します。