Anda menggunakan luwak, itu memancarkan peristiwa (pola EventEmitter) ketika database sedang down dan ketika database terhubung kembali dan naik lagi.
dari kode luwak ditemukan di sini kita dapat melihat bahwa koneksi db perpustakaan - connection.js
memiliki peristiwa berikut yang dipancarkan:* @param {Mongoose} mendasarkan instance luwak* @inherits NodeJS EventEmitter
http://nodejs.org/api/events.html#events_class_events_eventemitter
* @event connecting
:Dipancarkan saat connection.{open,openSet}()
dijalankan pada koneksi ini.
-
@event
connected
:Dipancarkan saat koneksi ini berhasil terhubung ke db. Dapat dipancarkan banyak kali dalamreconnected
skenario. -
@event
open
:Dipancarkan setelah kitaconnected
danonOpen
dijalankan pada semua model koneksi ini. -
@event
disconnecting
:Dipancarkan saatconnection.close()
dieksekusi. -
@event
disconnected
:Dipancarkan setelah terputus dari db. -
@event
close
:Dipancarkan setelah kamidisconnected
danonClose
dieksekusi pada semua model koneksi ini. -
@event
reconnected
:Dipancarkan setelah kitaconnected
dan selanjutnyadisconnected
, diikuti dengan koneksi sukses lainnya. -
@event
error
:Dipancarkan saat terjadi kesalahan pada koneksi ini. -
@event
fullsetup
:Dipancarkan dalam skenario kumpulan replika, ketika primer dan setidaknya satu sekunder yang ditentukan dalam string koneksi terhubung. -
@event
all
:Dipancarkan dalam skenario kumpulan replika, ketika semua node yang ditentukan dalam string koneksi terhubung.
Ketika database sedang down, Anda akan menerima dua event:1. terputus2. error (kesalahan yang dialami driver)
Saat database sudah aktif kembali, Anda akan menerima acara reconnect.
Jadi Anda tidak perlu mencoba menangkap kesalahannya, Anda harus mendengarkan acara ini.
Informasi lebih bermanfaat tentang kegagalan koneksi dan penyambungan kembali dapat ditemukan di sini .
Artikel ini menjelaskan cara menggunakan dan mengonfigurasi autoReconnect dan bufferMaxEntries sesuai dengan pengaturan Anda.