Nodejs上的mysql池连接在哪里结束?
我在Nodejs上使用MySQL。 我使用mysql pool
创build连接:
Var mysqk = require ('mysql'); Var pool = mysql.createPool ({my configs});
我的问题是:在应用程序中的哪里将使用文档中报告的pool.end()
?
例如:在我的www
文件中,我创build了一个代码来释放其他内容,正如我在代码中指出的那样。 我应该使用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(); }); }
有时候,你想手动释放连接池,出于任何原因,所以你可以在最终重新创build池之前使用pool.end()
。
大多数时候你想要释放它,当你的服务器即将closures,所以你可以做你在想什么。 注意函数调用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(); }); }); }