Skip to content

Conversation

@saratscheff
Copy link
Contributor

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Docs

What is the current behavior?

Only Bull (not BullMQ) usage is documented.
Issue Number: #2353

What is the new behavior?

Both Bull and BullMQ are documented.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

WIP. I have a few ToDo's to complete before it's ready for merge. However, I would appreciate feedback on the changes before investing more time in it.

Specifically, I lost interest in the change halfway through because I realized that BullMQ drops some important features I need. While there are workarounds, I decided to keep using Bull myself.

The features are:

  • Timeout. Before it was a JobOption, now you have to pay for BullMQ-Pro if you want a somewhat similar feature with observables or manually implement timeouts in your jobs logic.
  • Named processors. It seems some people felt it was confusing (my team didn't find it confusing at all, but oh well...) and thus they decided to remove what I consider an essential tool for clean and modularized code. We would have to implement some meta-programming ourselves to implement this behavior.
  • Global Events (BullQueueGlobalEvents) don't exist anymore. I wasn't using it nor am I interested to be honest, but I mention it in case anyone else finds this list useful.

On the other side, the only new feature is Parent/Child Dependencies, which I personally don't feel a need for. If you want to pay for the pro version there are more features, like:

Observables, Group Rate Limit, Group Support and Batches Support. With that in consideration, I would say that currently the only benefit of BullMQ is that it's easier to replace with BullMQ-Pro if you ever need it.

What do you think? Should BullMQ be covered the way it's proposed in this PR? Should it be after Bull? Should it just be mentioned and direct people to https://docs.bullmq.io/guide/nestjs if it's something they find interesting?

@tolgap
Copy link
Contributor

tolgap commented Oct 1, 2023

Eagerly awaiting this. Recently joined a new project where devs still used @nestjs/bull instead of @nestjs/bullmq because there were no mentions in the docs about this package 😄. Even though we could've definitely used the BullMQ features.

@MarkoXR
Copy link

MarkoXR commented Feb 19, 2024

Bump

@sourav-bhar
Copy link

sourav-bhar commented Jun 22, 2024

Any updates on this please?

kamilmysliwiec and others added 4 commits July 2, 2024 14:49
Co-authored-by: Tolga Paksoy <tolga@paramander.com>
Co-authored-by: Tolga Paksoy <tolga@paramander.com>
Co-authored-by: Tolga Paksoy <tolga@paramander.com>
@kamilmysliwiec kamilmysliwiec merged commit 96afe18 into nestjs:master Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants