一尘不染

连接到Redis以与多个工作程序库一起使用时遇到麻烦

redis

我在使用heroku中的kue连接到Redis来处理多个工作进程时遇到问题。我可以与多个工作人员连接到本地主机上的redis,但在与redis-to-
go连接时似乎断开了。仅当我有多个运行的kue worker /进程时,这才似乎中断。

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)

阅读 522

收藏
2020-06-20

共1个答案

一尘不染

如果您正在使用Redis To Go
nano实例(例如免费实例),则可能会遇到连接限制。您只被允许10个连接,看来kue在做redis.client()很多。因此,您可能会达到该极限。

为了确定这一点,请redis.debug_mode = true;在进行任何工作之前添加并查看输出内容(注意:它将吐出很多信息,b \
c发生了很多连接,但是在或处出现“最大连接数”错误在输出即将结束时。

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

希望这可以帮助。

2020-06-20