| Hey, I’ve been using BullMQ for several years and have been super happy with it. But lately, I realized I really needed grouping (being able to run only one job per group in sequence). Since this is for an open-source, self-hostable project, I didn’t want to force users to pay for BullMQ Pro licenses for using it. So, I decided to build my own queuing solution called GroupMQ, which allows you to group jobs together and run jobs in sequence based on a groupId. I also needed a way to order jobs by timestamp, since my project receives events and maintaining the correct order is critical. Some goodies:
- Scalable with performance on par with BullMQ (except when ordering is enabled, since it requires delays)
- Ordering based on Unix timestamps
- Grouping jobs so they run sequentially (per groupId)
- Scales with concurrency and multiple workers
- Runs several groups in parallel It’s available on npm as groupmq, and you can check out the repo here: https://git.new/groupmq Note: The package could never be possible without BullMQ, all credit to them for building such a great library. |