首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QueueEvents不使用Heroku触发BullMQ

QueueEvents不使用Heroku触发BullMQ
EN

Stack Overflow用户
提问于 2020-04-08 01:48:05
回答 1查看 1.3K关注 0票数 1

我试图在NodeJS中使用BullMQ实现队列,但在使用远程Redis (Heroku或Redis )时,我在生产中遇到了一些问题。

在本地,一切都运行良好,但当我尝试使用REDIS_URL时,会创建一个作业,但事件不起作用。

以下是代码:

代码语言:javascript
复制
// test_job.js
import { Queue, Worker, QueueEvents } from "bullmq";
import IORedis from "ioredis";

import Dotenv from "dotenv";
Dotenv.config();

// Good
const connection = new IORedis(process.env.REDIS_URL || 6379);

// Good
const queue = new Queue("Paint", { connection });

// Good
const worker = new Worker(
  "Paint",
  async job => {
    if (job.name === "cars") {
      console.log(job.data.color);
    }
  },
  { connection }
);

/**
 * BUG HERE: Events work in local but not when using a remote Redis (REDIS_URL)
 */
const queueEvents = new QueueEvents("Paint");
queueEvents.on("completed", jobId => {
  console.log("done painting");
});

queue.add("cars", { color: "blue" });
EN

回答 1

Stack Overflow用户

发布于 2020-04-09 15:54:17

代码语言:javascript
复制
const queueEvents = new QueueEvents("Paint", { connection: connection.duplicate() });

https://github.com/taskforcesh/bullmq/issues/173

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61092126

复制
相关文章

相似问题

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