const connection = mysql.createConnection(db)
长时间不操作mysql,会自动关闭连接,导致服务中断。
修改为:使用连接池
const connection = mysql.createPool(db)
const mysql = require('mysql');
const config = require('./config')
const conn = mysql.createPool(config.db);
var queryDB = function(qry, cb) {
conn.getConnection(function(error, connection) {
if(error) {
cb(error, null);
}
else {
connection.query(qry, function (e, rows) {
connection.destroy();
cb(e, rows);
});
}
});
}
module.exports = queryDB;
项目使用了conn.query的情况下
var queryDB = {
query: function (qry, data, cb) {
conn.getConnection(function (error, connection) {
if (error) {
cb(error, null);
}
else {
if (data) {
connection.query(qry, data, function (e, rows) {
connection.destroy();
cb(e, rows);
});
} else {
connection.query(qry, function (e, rows) {
connection.destroy();
cb(e, rows);
});
}
}
});
}
}