Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to remove a delayed job from bull js?

I am new to Bull and my use case is to run a job after 10 sec, for that, I am using the below code

  const options = {
    delay: 10000, // in ms
    jobId: myCustomUUID,
  };

  myQueue.add(someRandomData, options);

after adding it to the queue, now after a few sec let's say 4 sec, i want to remove the job from the queue as it is no longer required due to some condition, how can I achieve it. I know there is job.remove(). but how to use it for a given jobId. can someone please help me with it.

like image 822
s__k Avatar asked Oct 15 '25 14:10

s__k


1 Answers

first, give a job id when you are adding the queue.

  await promotionEndQueue.add(
          payload,
          {
            delay: delay,
            jobId: `${data.id}`,
          }
        );

if want to remove the job, grab it by the id, it was registered with.

// first find the job by Id
const job = await promotionEndQueue.getJob(data.id);
// then remove the job
await job?.remove();

like image 72
Lord Avatar answered Oct 19 '25 15:10

Lord



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!