首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AMQP警告:检测到可能的EventEmitter内存泄漏。添加了11个监听程序。

AMQP警告:检测到可能的EventEmitter内存泄漏。添加了11个监听程序。
EN

Stack Overflow用户
提问于 2013-09-14 00:07:38
回答 2查看 2.1K关注 0票数 1

我在Node.js中收到以下错误,我相信这与AMQP有关。

代码语言:javascript
复制
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Connection.EventEmitter.addListener (events.js:160:15)
    at Connection.EventEmitter.once (events.js:179:8)
    at Connection.connect (/var/www/project/app/node_modules/amqp/amqp.js:1084:8)
    at Connection.reconnect (/var/www/project/app/node_modules/amqp/amqp.js:1049:8)
    at null._onTimeout (/var/www/project/app/node_modules/amqp/amqp.js:886:16)
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

谁能指出问题可能是什么?

下面是我用来连接的模块的代码:

代码语言:javascript
复制
JackRabbit.prototype.subscribe = function subscribe(recievedCB, routingKey) {
    var self = this;
    var route = routingKey || '#';

    self.createConnection(function(rabbitMq, ex, q) {
        // Catch all messages
        q.bind(self.config.exchangeName, route);

        // Receive messages
        q.subscribe(self.config.messageOptions, function(msg, headers, deliveryInfo) {            
            recievedCB(q, msg, headers, deliveryInfo);

            // Clsoe connection
            //rabbitMq.end();
        });        
    });
}

下面是我调用该方法的地方:

代码语言:javascript
复制
var scrapRequestRecieved = function(q, msg, headers, deliveryInfo) {
    console.log("SC msg: %j", msg);

    /** Callback function shifts the completed job from the queue. */
    phantom.scrapeUrls(msg.urls, function() {
        console.log("SC DONE");
        q.shift();
    });
};
rabbit.subscribe(scrapRequestRecieved, "sc.#");
EN

回答 2

Stack Overflow用户

发布于 2013-09-14 00:13:27

经过一些搜索,问题似乎是由AMPQ的旧连接逻辑引起的。每次尝试重新连接时,都会添加新的监听程序,而不会删除旧的监听程序。该问题已在this拉取请求中修复。

票数 2
EN

Stack Overflow用户

发布于 2013-12-18 21:16:23

最新版本的0.1.8包含了@hexacyanide所表示的拉取请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18790724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档