首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kue连接到localhost而不是AWS elasticache主机

Kue连接到localhost而不是AWS elasticache主机
EN

Stack Overflow用户
提问于 2019-11-13 19:39:12
回答 1查看 324关注 0票数 1

我正在将这些配置传递给我的队列:

代码语言:javascript
复制
module.exports = {
    host: 'xxxxx-cluster.abnjj1.ng.0001.use1.cache.amazonaws.com',
    port: 6379
}

并创建kue:

代码语言:javascript
复制
const kue = require('kue')
const MailJob = require('../app/jobs/MailJob.js')
const redisConfig = require('../config/redis')
const jobs = [MailJob]

class Queue {
    constructor(){
        this.kue = kue.createQueue(redisConfig)

        this.processQueue()
    }

    processQueue(){
        return jobs.forEach(job => this.kue.process(job.key, job.handle))
    }
}

module.exports = new Queue()

但它总是返回与本地主机连接相关的相同错误。这没有意义,因为我传递的是elasticache的主机

代码语言:javascript
复制
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1126:14)
Emitted 'error' event on Queue instance at:
    at RedisClient.<anonymous> (/home/laurabeatris/Área de trabalho/personal projects/kue-test/node_modules/kue/lib/redis.js:65:13)
    at RedisClient.emit (events.js:209:13)
    at RedisClient.on_error (/home/laurabeatris/Área de trabalho/personal projects/kue-test/node_modules/kue/node_modules/redis/index.js:401:14)
    at Socket.<anonymous> (/home/laurabeatris/Área de trabalho/personal projects/kue-test/node_modules/kue/node_modules/redis/index.js:279:14)
    at Socket.emit (events.js:209:13)
    at emitErrorNT (internal/streams/destroy.js:91:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 6379
} 

我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 21:44:02

因为您传递的选项是错误的,所以它是默认的。再次查看文档,您将看到redis配置进入配置的redis密钥中

示例

代码语言:javascript
复制
var q = kue.createQueue({
  prefix: 'q',
  redis: {
    port: 1234,
    host: '10.0.50.20',
    auth: 'password',
    db: 3, // if provided select a non-default redis db
    options: {
      // see https://github.com/mranney/node_redis#rediscreateclient
    }
  }
});

在你的情况下

代码语言:javascript
复制
this.kue = kue.createQueue({ redis: redisConfig })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58836286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档