db/index.js数据库配置文件
一、在数据库连接失败的情况下,回调函数,再次发起连接,直到连接成功为止。
handleDisconnect(){
this.connection.connect(function(err) {
if(err) {
// console.log('error when connecting to db:', err);
setTimeout(_this.handleDisconnect, 2000);
}
});
this.connection.on('error', function(err) {
if(err.code === 'PROTOCOL_CONNECTION_LOST') {
_this.handleDisconnect();
} else {
throw err;
}
});
}
二、mysql在8个小时内没有任何操作,就会自动中断连接
因此,每个三个小时每个小时ping一次数据库,保持数据库连接状态
clearInterval(pingInterval);
pingInterval = setInterval(() => {
_this.connection.ping((err) => {
if (err) {
console.log('ping error: ' + JSON.str