這真的很煩人我只是無法關閉我的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