我在Nodejs上使用MySQL。我正在使用mysql pool
创建连接:
Var mysqk = require ('mysql');
Var pool = mysql.createPool ({my configs});
我的问题是:
应用程序中的哪个位置我会使用文档中报告的pool.end()
?
例如:在我的www
文件中,我创建了一个代码来释放其他内容,正如我在de code中指出的那样。我应该在那里使用pool.end()
吗?
var app = require('../app');
var debug = require('debug')('cancela:server');
var http = require('http');
var port = normalizePort(process.env.PORT || '4000');
app.set('port', port);
var server = http.createServer(app);
// my app codes...
..
.
.
process.once('SIGTERM', end);
process.once('SIGINT', end);
function end() {
server.close(function(err){
if(err) throw err();
// Should I end the Pool connection here? <<<<<<===================================
// pool.end(function (err) {
// // all connections in the pool have ended
// });
console.log('Server endded!');
/* exit gracefully */
process.exit();
});
}
答案 0 :(得分:0)
有时您想要出于某种原因手动释放连接池,以便在最终重新创建池之前使用pool.end()
。
大多数情况下,当服务器即将关闭时,您希望将其释放,以便您可以按照自己的想法进行操作。注意函数调用process.exit()
的位置。必须在连接释放后调用它,否则池将无法完成释放。
function end() {
server.close(function (err) {
if (err) throw err;
console.log('Server endded!');
pool.end(function (err) {
if (err) throw err;
process.exit();
});
});
}