Heroku 不会连接到 redis 去 [ioredis] 未处理的错误事件:错误:连接 ECONNREFUSED 127.0.0.1:6379

时间:2021-05-16 11:12:27

标签: node.js heroku redis redistogo bullmq

我正在使用 Bullmq 和 redistogo 创建一个队列。它在本地运行良好,但是当我部署到 heroku 时,我不断收到如下所示的错误。有什么明显的我做错了吗?

我按照以下文档设置了 redistogo:https://devcenter.heroku.com/articles/redistogo

我已经包含了 Procfile,它通过调用 index.js 来显示工作器 dyno。

我在日志中包含了 REDISTOGO_URL 以表明它正在通过。

简介:

web: node server.js
worker: node routes/api/bullCron/index.js

index.js

const { worker } = require('./mail/worker')

if (process.env.REDISTOGO_URL) {
  var rtg = require("url").parse(process.env.REDISTOGO_URL);
  var redis = require("redis").createClient(rtg.port, rtg.hostname);

  redis.auth(rtg.auth.split(":")[1]);
} else {
  var redis = require("redis").createClient();
}

worker.js

const { Worker } = require('bullmq')

const worker = new Worker('mailbot', `${__dirname}/processor.js`,)

console.info('Worker listening for jobs')

module.exports = {
  worker,
}

processor.js

module.exports = async job => {

  console.log("In processor.js")

  return
}

Heroku 日志中的错误:

2021-05-16T09:25:10.925714+00:00 heroku[web.1]: Starting process with command `node server.js`
2021-05-16T09:25:09.000000+00:00 app[api]: Build succeeded
2021-05-16T09:25:14.524678+00:00 app[web.1]: Server is running on port 17523
2021-05-16T09:25:14.690753+00:00 app[web.1]: MongoDB database connection established successfully
2021-05-16T09:25:15.137160+00:00 heroku[web.1]: State changed from starting to up
2021-05-16T09:25:19.501611+00:00 heroku[worker.1]: Starting process with command `node routes/api/bullCron/index.js`
2021-05-16T09:25:20.283162+00:00 heroku[worker.1]: State changed from starting to up
2021-05-16T09:25:23.069955+00:00 app[worker.1]: Worker listening for jobs
2021-05-16T09:25:23.183133+00:00 app[worker.1]: [ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379
2021-05-16T09:25:23.183135+00:00 app[worker.1]:     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
2021-05-16T12:48:27.169584+00:00 app[worker.1]:   rtg: Url {
2021-05-16T12:48:27.169584+00:00 app[worker.1]:     protocol: 'redis:',
2021-05-16T12:48:27.169585+00:00 app[worker.1]:     slashes: true,
2021-05-16T12:48:27.169585+00:00 app[worker.1]:     auth: 'redistogo:<PASSWORD>',
2021-05-16T12:48:27.169585+00:00 app[worker.1]:     host: 'soapfish.redistogo.com:11226',
2021-05-16T12:48:27.169586+00:00 app[worker.1]:     port: '11226',
2021-05-16T12:48:27.169586+00:00 app[worker.1]:     hostname: 'soapfish.redistogo.com',
2021-05-16T12:48:27.169586+00:00 app[worker.1]:     hash: null,
2021-05-16T12:48:27.169586+00:00 app[worker.1]:     search: null,
2021-05-16T12:48:27.169587+00:00 app[worker.1]:     query: null,
2021-05-16T12:48:27.169587+00:00 app[worker.1]:     pathname: '/',
2021-05-16T12:48:27.169587+00:00 app[worker.1]:     path: '/',
2021-05-16T12:48:27.169587+00:00 app[worker.1]:     href: 'redis://redistogo:<PASSWORD>@soapfish.redistogo.com:11226/'
2021-05-16T12:48:27.169588+00:00 app[worker.1]:   }
2021-05-16T12:48:27.170720+00:00 app[worker.1]: process.env.REDISTOGO_URL redis://redistogo:<PASSWORD>@soapfish.redistogo.com:11226/

0 个答案:

没有答案
相关问题