Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 连接到redis以与多个worker Kue一起使用时出现问题_Node.js_Redis - Fatal编程技术网

Node.js 连接到redis以与多个worker Kue一起使用时出现问题

Node.js 连接到redis以与多个worker Kue一起使用时出现问题,node.js,redis,Node.js,Redis,我在连接redis时遇到问题,无法使用heroku中的kue处理多个工作进程。我可以在localhost上与多个工作人员连接到redis,但与redis的连接似乎中断了。只有当我有多个kue工作者/进程在运行时,这种情况才会出现 kue.redis.createClient = function() { var client; client = redis.createClient(1234, 'tetra.redistogo.com'); client.auth('xyz');

我在连接redis时遇到问题,无法使用heroku中的kue处理多个工作进程。我可以在localhost上与多个工作人员连接到redis,但与redis的连接似乎中断了。只有当我有多个kue工作者/进程在运行时,这种情况才会出现

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);
});
获取一个错误

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)

如果您使用Redis转到nano实例(例如免费实例),您可能会遇到连接限制。您只允许10个连接,而且kue似乎经常使用redis.client()。所以,你可能达到了极限

要确定,请添加
redis.debug\u mode=true在您执行任何工作并查看输出内容之前(注意:它将吐出大量信息,b\c有大量连接发生,但是在输出端或接近输出端时出现“最大连接数”错误

至少当我们有一个工人和客户同时访问kue时,我们似乎达到了这个极限

希望这有帮助