Esto es realmente una preocupación de MySQL y no de Node.js. Puede usar la propiedad wait_timeout
de MySQL para aumentar la cantidad de tiempo para mantener la conexión abierta.
Consulte más detalles sobre esta propiedad aquí
A continuación se muestra un ejemplo de código para su singleton que creará una nueva conexión cuando se cierre la actual. En el escenario, nunca tendrá más de 1 conexión activa si siempre usa la aplicación Singleton para obtener la conexión:
getConnection: function() {
var app = common.model.connections.App.getInstance();
if(!app.connection.isConnected()){
//connect if connection is closed.
app.connection.connect();
}
return app.connection;
}