Questions tagged [bullmq]

BullMQ - Premium Message Queue for NodeJS based on Redis

BullMQ is a Node.js library that implements a fast and robust queue system based on Redis. The library is designed so that it will fulfill the following goals:

  1. Exactly once queue semantics, i.e., attempts to deliver every message exactly one time, but it will deliver at least once in the worst-case scenario*.
  2. Easy to scale horizontally. Add more workers for processing jobs in parallel.
  3. Consistent.
  4. High performant. Try to get the highest possible throughput from Redis by combining efficient .lua scripts and pipelining.
77 questions
11
votes
1 answer

What is the difference between BullMQ and other message queue implementations?

I've been looking at the docs for BullMQ: https://github.com/taskforcesh/bullmq https://docs.bullmq.io/what-is-bullmq I noticed in its comparison chart that it doesn't contain projects like RabbitMQ or NATS Streaming. BullMQ seems to be a solution…
McFlurriez
  • 513
  • 6
  • 17
7
votes
0 answers

NestJS Fastify Bull Board integration

I'm trying to integrate Bull Board in to NestJS + Fastify service. bull-board.middleware.ts import { Injectable, NestMiddleware } from '@nestjs/common'; import { router as bullBoardMiddleware } from 'bull-board'; @Injectable() export class…
5
votes
1 answer

BullMQ - Persistence job queuing & managing jobs between server restart

Little background of the task- I'm building abandoned cart recovery system for Shopify. After an user makes a checkout, Shopify calls our webhook and the webhook enqueues that request as job with delay of 5mins in a queue A. When worker starts…
Aps pk
  • 63
  • 2
  • 6
5
votes
0 answers

Process layout for deploying an API with node.js and bullmq

Let me preface the question by saying that I understand that there will probably not be a definitive, yes-or-no answer on this topic and that answers given might be opinion driven. However, I do require and am thankful for advice and/or guidance in…
CodingMeSwiftly
  • 3,231
  • 21
  • 33
4
votes
4 answers

Mocking Bull queues in NestJS

I am trying to test that after sending a request to one of my controllers, the queue pushes a job. The implementation itself works as expected. This is my app.module.ts @Module({ imports: [ HttpModule, …
SeekanDestroy
  • 511
  • 1
  • 5
  • 12
4
votes
1 answer

Bullmq get a job with a specific ID from a queue

I am trying to create a results queue on BullMQ where all workers can send results adding jobs with special crafted jobIDs. The idea is that all results arrive with a specific jobID generated so that I known exactly which process the result is…
4
votes
0 answers

Bullmq retry completed jobs manually

I'm using bullmq to send webhooks events. Jobs are scheduled and an automatic retry is in place. Let's say I want to re-execute some tasks which already successfully completed and I have the ids of the elements in the queue I want to reschedule, is…
Pjotr Raskolnikov
  • 1,558
  • 2
  • 15
  • 27
3
votes
1 answer

BullMQ reusing redis connections

I am trying to add logic to re-use redis connections with bullMQ using this section of the bullMQ docs. I am using the most recent (1.80.6) BullMQ npm version. From the docs, the expectation is to define the createClient method, which is a property…
3
votes
2 answers

Bull MQ repeatable job not triggering

This question is in continuation with this thread Repeatable jobs not getting triggered at given cron timing in Bull I am also facing the same problem. How should I specify the timezone? I tried to specify as repeat: { cron: '* 7 14 * * *', tz:…
3
votes
1 answer

NestJS Bull Log errors to Sentry

I've recently added Bull to my project to offload things like synchronizing documents to 3rd party services and everything's working well, except errors occurring while processing jobs don't end up in Sentry. They're only logged on the jobs…
Bart van den Burg
  • 2,166
  • 4
  • 25
  • 42
3
votes
0 answers

Heroku won't connect to redis to go [ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379

I am using bullmq and redistogo to create a queue. It is working perfectly on local but when I deploy to heroku I keep getting the error shown below. Is there anything obvious I am doing wrong? I have set up redistogo by following this…
user2633709
  • 103
  • 2
  • 9
3
votes
0 answers

I need to implement start and stop worker queues functionality in bullmq

I need to implement one functionality to start and stop worker queue using bullmq. The complete scenario is when someone presses the start button on the front-end side. the job will be added to the worker and the queue will start and processing it.…
Harsh Makwana
  • 237
  • 3
  • 13
3
votes
1 answer

What is the recommended way to retrieve results from BullMQ completed Job?

I am using BullMQ with express server to process jobs asynchronously but confused as how to retrieve the results from completed jobs. What I am doing currently is to listen for job completed status event and store those results in an object with job…
javanoob
  • 6,070
  • 16
  • 65
  • 88
3
votes
1 answer

Node Js: Redis job is not completing after finish its task

Hope you guys are doing great. I implemented BullMQ (next major version of Bull) into my nodejs project to schedule the jobs to send emails. For example, send email of forget password request. So, I have written my code something like below. User…
Shivam Verma
  • 905
  • 1
  • 8
  • 20
3
votes
3 answers

Heroku Node.js RedisCloud Redis::CannotConnectError on localhost instead of REDISCLOUD_URL

When i try to connect my Nodsjs application to RedisCloud on Heroku I am getting the following error Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED) I have even tried to directly set the redis URL and port in…
Harsha M V
  • 54,075
  • 125
  • 354
  • 529
1
2 3 4 5 6