0
我正在使用pg節點模塊來連接數據庫。我一直在爲每個DML操作創建多個連接。當連續查詢執行發生時 我收到警告消息爲「(節點)警告:可能發生EventEmitter內存泄漏,添加了11個錯誤偵聽器,使用emitter.setMaxListeners()來增加限制。給定PG默認poolSize爲5(節點)警告:可能檢測到EventEmitter內存泄漏。添加了11個錯誤偵聽器。使用emitter.setMaxListeners()來增加限制
var pg = require('pg')
pg.defaults.poolSize = 5;
var dbHelper = {
initializeConnection: function (callback) {
pg.connect(conString, function (err, client, done) {
if (err) {
done(client);
return callback(err, null);
}
callback(null, client, done);
});
pg.on('error', function (err) {
});
pg.end();
},
query: function (pgQuery, args, callback, options) {
this.initializeConnection(function (err, client, done) {
client.query(pgQuery, args, function (err, response) {
done();
return callback(err, response);
});
});
},
};
module.exports = dbHelper;
樣本查詢
dbHelper.query("SELECT name,age,address FROM EMPLOYEE WHERE id=$1", [1001], function (err, response) {
callback(err, response);
});
如何防止事件發射器的內存韭菜。