Show HN: HydraMQ - Postgres message queue implementation for NodeJs/TypeScript.
github.comHi everyone,
I've been working on HydraMQ for past few months, a PostgreSQL queuing library for Node (to add to the ever growing list!)
The core features that I think set it apart are: - Enqueues can be part of _existing_ database transactions - Multi-tenancy support is first class (round robin scheduling and per-tenant concurrency constraints) - DB client agnostic - High throughput - 0 dependencies
I've also added a suite of additional features that you would normally expect with this sort of library. Namely:
- Scheduled messages (via a cron expr) - Delayed messages - Deduplicated messages - Retries with user-defined back-off strategies - Message prioritization (intra-tenant and inter-tenant).
I've been working on a modern e-mail client - Marco (https://app.marcoapp.io) for several months, which leverages HydraMQ to great effect.
For example: Ensuring certain types of job run sequentially (concurrency=1) on a per-user basis. This has eliminated a whole slew of potential race-hazards and other weird edge cases that I would've otherwise had to consider whilst also ensuring background worker resources are shared fairly across all users.
Please let me know what you think! :-)