这真的很烦人我只是无法关闭我的mysql连接。这里是我的代码:无法关闭与NodeJS的mysql连接
var mysql = require('mysql');
function getConnection(){
return mysql.createConnection({
host : credentials.db.host, //'eu-cdbr-azure-north-e.cloudapp.net',
user : credentials.db.user, //'b1a8cac71bbac61',
password : credentials.db.password, //'be2de8334',
database : credentials.db.database //'bcd290081'
});
}
function runMySQLQuery(qry, callback){
var conn = getConnection();
conn.connect();
conn.query(qry, function(err, rows, fields) {
if (err){
// db err
callback(Error.sql_query, null);
} else{
// check result
if(typeof rows == 'object'){
callback(Error.no_errors, rows);
}else{
// wrong return from db
callback(Error.sql_query, null);
}
}
});
//conn.destroy();
conn.end(function(err) {
// The connection is terminated now
console.log('connection ended');
});
}
var qry = "SELECT id, hash, last_login FROM acsm_b962fe317b5d30e.orium_chatbot_customers " +
"WHERE username = '" + username + "' AND password = '" + password + "';"
//console.log('qry', qry);
runMySQLQuery(qry, callback);
所以,我收到我想要的数据,但连接保持打开,我想无论是毁灭和最终方法(有和没有一个回调函数)和我的程序只是做没有结束。它最终需要一分钟左右的时间,然后它会调用结束的回调函数。
真的很烦人,我也看到另一个stackoverflow doubt关于这方面也没有太大的成功。
对我来说关闭连接非常重要,因为我想在AWS Lambda上部署我的代码,而且我承担不起这么长时间。
什么时候你想关闭它? – Beginner
我的查询执行后,你会看到我调用callback,然后conn.end – Ernanirst
尝试connection.on('error',function(error){console.log(error);}); – Beginner