まず、catch
を実行する必要があります エラーが発生したため、アプリはそれを適切に処理でき、奇妙な理由でmysql接続が閉じられてもクラッシュしません。 connection.on('error', ...)
のいずれかを試してください または、try-catchブロック
を使用します 。
開いた接続を維持するには、閉じるときに再接続する必要があります。または、mysqlのプーリング接続 を使用するだけです。 、1つのコード変更で、自動再接続を非常にうまく処理します。
PS:複数の接続をプールすることは、サーバーなどの非同期アプリでは一般的に良い考えですが、プールを介して単一の接続を維持するのは安全です(connectionLimit : 1
)自動再接続自体のためだけに。
PPS:Mysqlの非アクティブタイムアウトは、サーバーのmy.cnf
で構成できます。