Ha

Hatchet – Open-source distributed task queue

Hacker News

Hatchet – Open-source distributed task queue

Hello HN, we're Gabe and Alexander from Hatchet ( https://hatchet.run ), we're working on an open-source, distributed task queue. It's an alternative to tools like Celery for Python and BullMQ for Node.js, primarily focused on reliability and observability. It uses Postgres for the underlying queue. Why build another managed queue? We wanted to build something with the benefits of full transactional enqueueing - particularly for dependent, DAG-style execution - and felt strongly that Postgres solves for 99.9% of queueing use-cases better than most alternatives (Celery uses Redis or RabbitMQ as a broker, BullMQ uses Redis). Since the introduction of SKIP LOCKED and the milestones of recent PG releases (like active-active replication), it's becoming more feasible to horizontally scale Postgres across multiple regions and vertically scale to 10k TPS or more. Many queues (like BullMQ) are built on Redis and data loss can occur when suffering OOM if you're not careful, and using PG helps avoid an entire class of problems. We also wanted something that was significantly easier to use and debug for application developers. A lot of times the burden of building task observability falls on the infra/platform team (for example, asking the infra team to build a Grafana view for their tasks based on exported prom metrics). We're building this type of observability directly into Hatchet. What do we mean by "distributed"? You can run workers (the instances which run tasks) across multiple VMs, clusters and regions - they are remotely invoked via a long-lived gRPC connection with the Hatchet queue. We've attempted to optimize our latency to get our task start times down to 25-50ms and much more optimization is on the roadmap. We also support a number of extra features that you'd expect, like retries, timeouts, cron schedules, dependent tasks. A few things we're currently working on - we use RabbitMQ (confusing, yes) for pub/sub between engine components and would prefer to just use Postgres, but didn't want to spend additional time on the exchange logic until we built a stable underlying queue. We are also considering the use of NATS for engine-engine and engine-worker connections. We'd greatly appreciate any feedback you have and hope you get the chance to try out Hatchet.

Share card

Actual performance

578points
189comments
Made the leaderboard

Launch Intel predictions

Analyze your own launch →
Product HuntOn track for Day 1 leaderboard · Strong signals: tasks, using, open · Missing: mac, agents, macos
90%90% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Hacker NewsStrong engagement from HN community · Strong signals: ide, io · Missing: https docs, excited, just released
80%80% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Indie HackersFits the IH revenue-focused audience · Missing: supports, reddit linkedin, podcasting
77%77% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
TrustMRRFits verified-revenue profile · Missing: mobile apps, ios, personal
55%55% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: platform · Missing: plus, intuitive, reviews
25%25% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Strong signals: active · Missing: arr, mrr, revenue
19%19% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

Go
Goku – A distributed task queue for go (similar to sidekiq or celery)61%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Goku – A distributed task queue for go (similar to sidekiq or celery)

Hacker News4
Ma
Machinery – asynchronous task queue (Golang implementation of Celery)45%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Machinery – asynchronous task queue (Golang implementation of Celery)

Hacker News13
Re
Repid v2 – open-source async Python task queue with AsyncAPI docs58%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Repid v2 – open-source async Python task queue with AsyncAPI docs

Hacker News2
In
Inngest – an open-source event-driven queue79%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Inngest – an open-source event-driven queue

Hacker News19
Ce
Celery Distributed Task Queue Client/Worker in Go55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Celery Distributed Task Queue Client/Worker in Go

Hacker News9
Ra
Ratus – RESTful asynchronous task queue server54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Ratus – RESTful asynchronous task queue server

Hacker News3
Yo
Your Own Task Queue for Python55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Your Own Task Queue for Python

Hacker News75
Wa
WakaQ - a Python distributed task queue64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

WakaQ - a Python distributed task queue

Hacker News147
No
NoQMS – No Queue Microservices – and a Java Implementation48%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

NoQMS – No Queue Microservices – and a Java Implementation

Hacker News3
A
A queue for Rails43%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A queue for Rails

Hacker News2