Dopo alcuni tentativi ed errori, sto usando l'opzione 2 e funziona bene. Creata la connessione a livello globale e usala nel cluster.
Ogni volta che devi interrogare, getConnection.
pool.getConnection(function(err, connection) {
if(err) {
console.log('Error getting sql connection');
console.dir(err);
if(typeof connection !== "undefined")
connection.release();
callback(err);
}
if(typeof cb === "undefined") {
//console.log('with 2 params');
connection.query( sql, function(err, rows) {
connection.release();
console.dir(sql);
// console.dir('data=>' + data);
if(err) {
console.log('err:' + err);
callback(err, rows);
}else{
console.log( rows );
callback(err, rows);
}
});
} else {
// console.log('with 3 params:' + cb);
connection.query( sql, data, function(err, rows){
connection.release();
console.log(sql);
console.dir(data);
if(err) {
console.log('err:' + err);
callback(err, rows);
}else{
console.log( rows );
callback(err, rows);
}
});
}
});
}