gpt4 book ai didi

javascript - Kue worker 与 createClientFactory : only subscriber commands may be used

转载 作者:IT王子 更新时间:2023-10-29 06:11:35 24 4
gpt4 key购买 nike

我正在努力设置我的 kue worker 并发现了一些奇怪的东西。如果我使用默认的 kue redis 连接创建我的队列,一切正常:

var kue = require('kue')
, redis = require('redis');

var q = kue.createQueue();

q.process('cypher', function(job, done){});

worker 完美启动。但是,如果我尝试用我自己的一个覆盖默认的 redis 连接,我会得到一个

错误:订阅者模式下的连接,只能使用订阅者命令

当执行遇到下面的 q.process 函数时:

var kue = require('kue')
, redis = require('redis');


var redisClient = redis.createClient();

var q = kue.createQueue({
redis: {
createClientFactory: function(){

return redisClient;
}
}
});

q.process('cypher', function(job, done){});

好像没什么意思。我想也许我犯了一个典型的异步错误,但即使是下面的错误我也得到了同样的错误。 有什么见解吗?

redisClient.on('connect', function () {
console.log('gotten here!!!');
var q = kue.createQueue({
redis: {
createClientFactory: function(){

return redisClient;
}
}
});

q.process('cypher', function(job, done){});
});

最佳答案

当你的工厂方法被调用时,你实际上并不是每次都传递一个新的客户端。从 createClientFactory 返回一个单例实例使得 kue 对命令和 pub/sub 使用相同的连接,这在 redis 连接模式中是不可能的

关于javascript - Kue worker 与 createClientFactory : only subscriber commands may be used,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30944960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com