2011-12-19 37 views
3

我无法连接到redis以使用heroue中的kue使用多个工作进程。我可以与多个工作人员连接以在本地主机上进行重新发布,但似乎在与要重新发布的连接时断开。当我有多个kue工作者/进程在运行时,这似乎只会中断。连接到redis的问题与多个工人kues一起使用

kue.redis.createClient = function() { 
    var client; 
    client = redis.createClient(1234, 'tetra.redistogo.com'); 
    client.auth('xyz'); 
    return client; 
}; 


jobs = kue.createQueue(); 
jobs.process("email, 2, function(job, done) { 
    console.log("processing email"); 
    return done(null, null); 
}); 

如果您使用的Redis To Go的纳米实例(例如免费的),你可能会运行到一个连接限制得到一个错误

Error: Uncaught, unspecified 'error' event. 
    at RedisClient.emit (events.js:47:15) 
    at Command.callback (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/index.js:159:29) 
    at RedisClient.return_error (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/index.js:446:25) 
    at RedisReplyParser. (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/index.js:256:14) 
    at RedisReplyParser.emit (events.js:64:17) 
    at RedisReplyParser.send_error (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/lib/parser/javascript.js:266:14) 
    at RedisReplyParser.execute (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/lib/parser/javascript.js:125:22) 
    at RedisClient.on_data (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/index.js:422:27) 
    at Socket. (/Users/transformer/Projects/Pictorious/Services/node_modules/redis/index.js:66:14) 
    at Socket.emit (events.js:64:17) 

回答

1

。你只有10个连接,看起来kue在做redis.client()很多。所以,你可能会达到这个极限。

为了找到答案,在做任何工作之前加上redis.debug_mode = true;,看看输出结果如何(注意:它会吐出很多信息,但是会有很多连接发生,但是“max连接”的错误达到或接近输出结束。

至少我们似乎当我们有一个工作人员和客户端访问KUE被击中此限制。

希望这有助于。

+0

什么解决这个问题 – coool 2013-05-13 19:25:06