Ich verwende Pg Node-Modul für die Verbindung der Datenbank. Ich habe mehrere Verbindungen für jede DML-Operation erstellt. Wenn die kontinuierliche Abfrage Ausführung Ich habe eine Warnmeldung als "(Knoten) Warnung: mögliche EventEmitter Speicherleck erkannt. 11 Fehler Listener hinzugefügt. Verwenden Sie emitter.setMaxListeners(), um Limit zu erhöhen." Die gegebene pg Ausfälle Poolsize ist 5.(Knoten) Warnung: Möglich EventEmitter Speicherleck erkannt. 11 Fehlerlistener hinzugefügt. Verwenden Sie emitter.setMaxListeners(), um den Grenzwert zu erhöhen
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;
Beispielabfrage
dbHelper.query("SELECT name,age,address FROM EMPLOYEE WHERE id=$1", [1001], function (err, response) {
callback(err, response);
});
wie der Ereignisspeicher Emitters Porree zu verhindern.