5

我无法使用 kue 连接到 Redis,我按照这篇文章,实际上我正在使用 kue redis 客户端创建连接,连接代码是这样的:

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

  app.redisClient =  redis.createClient('6379', 'remoteip',{});
  app.redisClient.on('error', function (err) {
      console.log('Redis error encountered', err);
  });

  app.redisClient.on('end', function() {
      console.log('Redis connection closed');
   });

   kue.redis.createClient = function() {
      console.log('client ------------------',app.redisClient);
      return app.redisClient;
   };

似乎 Kue 正在尝试连接到本地 Redis(我没有安装),因为我遇到了这个异常:

错误:与 127.0.0.1:6379 的 Redis 连接失败 - 连接 ECONNREFUSED

我已经阅读了这篇文章,似乎问题已在 0.8 版中得到解决,我正在使用 0.8.11 :/,最后我还想通过使用redis nodejs来覆盖使用不同客户端实例的客户端,但没有任何运气,因为我遇到了同样的错误。

任何帮助将不胜感激。谢谢!

4

1 回答 1

1

我使用了一种不同的方式来设置连接,到目前为止它可以工作,这就是我所做的:

app.redisClient =  redis.createClient(config.redisPort, config.redisUrl,{});

app.redisClient.on('connect', function () {
    console.info('successful connection to redis server');
});

app.redisClient.on('error', function (err) {
    console.log('Redis error encountered', err);
});

app.redisClient.on('end', function() {
    console.log('Redis connection closed');
});

kue.app.listen(config.kuePort);

app.jobs = kue.createQueue({
    redis: {
        createClientFactory: function(){
            return app.redisClient;
        }
    }
});
于 2015-02-05T16:45:02.710 回答