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(); }); }); }