W rzeczywistości jest to problem MySQL, a nie Node.js. Możesz użyć właściwości wait_timeout
MySQL, aby zwiększyć czas utrzymywania otwartego połączenia.
Więcej szczegółów na temat tej właściwości znajdziesz tutaj
Poniżej znajduje się przykład kodu dla twojego singletona, który utworzy nowe połączenie, gdy obecne zostanie zamknięte. W scenariuszu nigdy nie będziesz mieć więcej niż 1 aktywnego połączenia, jeśli zawsze korzystasz z aplikacji Singleton, aby uzyskać połączenie:
getConnection: function() {
var app = common.model.connections.App.getInstance();
if(!app.connection.isConnected()){
//connect if connection is closed.
app.connection.connect();
}
return app.connection;
}