我正在将这些配置传递给我的队列:
module.exports = {
host: 'xxxxx-cluster.abnjj1.ng.0001.use1.cache.amazonaws.com',
port: 6379
}并创建kue:
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的主机
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
} 我是不是漏掉了什么?
发布于 2019-11-13 21:44:02
因为您传递的选项是错误的,所以它是默认的。再次查看文档,您将看到redis配置进入配置的redis密钥中
示例
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
}
}
});在你的情况下
this.kue = kue.createQueue({ redis: redisConfig })https://stackoverflow.com/questions/58836286
复制相似问题