BullMQ is a Redis-backed job queue for Node.js. To decide whether it fits, start with work that can finish after the HTTP response and must be tracked or retried.
Consider a large report. Generating it inside the request can keep the user waiting until the request times out. A queue lets the application accept the work, return a job ID and process it separately.
1. See what changes when work moves to a queue
[User] -> [API: submit job] -> [Redis / BullMQ] -> [Worker]
| |
[Return job ID] [Saved report]
