我在使用 Heroku 中的 kue 连接到 redis 来处理多个工作进程时遇到问题。我可以在本地主机上与多个工作人员连接到 redis,但在与 redis-to-go 连接时似乎会中断。只有当我运行多个 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 To Go nano 实例(例如免费实例),您可能会遇到连接限制。你只允许 10 个连接,而且 kue 似乎做了很多 redis.client() 操作。所以,你可能会达到这个极限。
要确定,请添加redis.debug_mode = true;
在你做任何工作之前,看看输出是什么(注意:它会吐出很多信息,因为有很多连接发生,但是“最大连接”错误在输出末尾或附近)。
至少当我们有一个工作人员和客户端都访问 kue 时,我们似乎达到了这个限制。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)