Я пишу приложение nodejs и хочу использовать пул соединений.Приложение не заканчивается пулом MySQL
Однако следующее заявление не прекращается - хотя я бы ожидать, что она прекращает после вызова connection.end()
Приложение работает нормально, если я использую одно соединение вместо бассейна. Нужно ли мне каким-то образом прекратить пул?
Библиотека используется: https://github.com/felixge/node-mysql
Node.js версия: 0.10.4 на Ubuntu
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'example.org',
user : 'myuser',
password : 'youbet',
database : 'notrevealingdetails',
insecureAuth: true
});
function getCampaignData(callback)
{
pool.getConnection(function(err, connection) {
if(err) throw err;
connection.query(
'SELECT cam.id, cam.name AS campaign_name, cam.subdomain, usr.email, usr.display_name AS user_displayname ' +
'FROM campaigns AS cam INNER JOIN users AS usr ON usr.id = cam.user_id ' +
'WHERE cam.state=2',
function(err, rows) {
callback(err, rows,connection);
//console.log('called end()');
}); // callback function for connection.query
}); // end pool.GetConnection
}
getCampaignData(function(err, rows, connection) {
if (err) throw err;
connection.end();
console.log("I expect my app to terminate");
});
Попробуйте использовать connection.destroy() вместо – spotirca
@spotirca 'connection.destroy()' будет (в соответствии с документацией) убить соединение. Если я это сделаю, нет смысла использовать пул в первую очередь - не так ли? (** Но это работает **) – yas4891
И «работает» Я имею в виду: приложение завершается. Мне все еще нужен способ заставить пул работать – yas4891