back
user profile

abelanger

1,612karma·202submissions·July 2, 2019
about
Co-founder of Hatchet (W24, https://hatchet.run), a task queue built on Postgres. Previously co-founder of Porter (S20, https://porter.run)
recent activity (202 total)
comment
Very cool! Does it support the latest version of Celery? And to answer the question, no, the license doesn't restrict a company from offering a hosted version of Hatchet. We chose the license tha…
2y ago·view thread
comment
Yes, I remember reading the post and the discussion surrounding it being very high quality! I particularly like the section on escape hatches - though you start to see the issue with this approach whe…
2y ago·view thread
comment
We'd like to stabilize our existing 3 SDKs and create a proper spec for future SDKs to implement. While we use proto definitions and openapi to generate clients, there are a lot of decisions made…
2y ago·view thread
comment
It does seem like some really great options are emerging in the Go community, and a lot of newer execution frameworks are supporting Go as one of the first languages. Another great addition is https:…
2y ago·view thread
comment
While the execution model is very similar to Airflow, we're primarily targeting async jobs which are spawned from an application, while Airflow is primarily for data pipelines. The connector ecos…
2y ago·view thread
comment
If we’re going to give credit where credit’s due, the history of durable execution traces back to the ideas of AWS step functions and Azure durable functions alongside the original Cadence and Conduct…
2y ago·view thread
comment
Re Inngest - there are a few differences: 1. Hatchet is MIT licensed and designed to be self-hosted in production, with cloud as an alternative. While the Inngest dev server is open source, it doesn&#…
2y ago·view thread
comment
That's correct, you can only create tasks via the gRPC client, Hatchet can't hook into the same transaction as your inserts or updates. It seems like a very lightweight tasks table in your e…
2y ago·view thread
comment
While I understand the sentiment, we see it very differently. We're interested in creating the best product possible, and being open source helps with that. The users who are self-hosting in our …
2y ago·view thread
comment
> My main thing is the RabbitMQ dependency (that seems to be a topic of interest in this thread). Getting rid of that and just depending on PG seems like the main path forward that would increase a…
2y ago·view thread
comment
Yeah, pretty much - that was more of a side project while figuring out what to work on next. Plus the Terraform licensing changes were on the horizon and I became a little frustrated with the whole ec…
2y ago·view thread
comment
We're using RabbitMQ for pub/sub between different components of our engine. The actual task queue is entirely backed by Postgres, but things like streaming events between different workers …
2y ago·view thread
comment
No, the whole task doesn't execute as a postgres transaction. Transactions will update the status of a task (and higher-order concepts like workflows) and assign/unassign work to workers, bu…
2y ago·view thread
comment
Hatchet ( https://hatchet.run ) | New York City (IN-PERSON) | Full-time We're hiring a founding engineer to help us with development on our open-source, distributed task queue: https:&…
2y ago·view thread
comment
Hatchet ( https://hatchet.run ) | New York City (IN-PERSON) | Full-time We're hiring a founding engineer to help us with development on our open-source, distributed task queue: https:&…
2y ago·view thread
comment
Yeah we're using RabbitMQ for pub/sub (but are considering getting rid of it) and Postgres for the actual task queue. There's some more about that here: https://news.ycombina…
2y ago·view thread
comment
Thank you! I've been using https://jitter.video with the Lottie exporter. It also has a Figma plugin so you can reuse components.
2y ago·view thread
comment
I created a gist with these recommendations - certainly an improvement, but I don't think it gets around the `WindowAgg` running across all 10k rows: https://gist.github.com/abela…
2y ago·view thread
comment
Ah, great catch - I just pushed an update to match the query from the article. I wasn't looking at much except for the WindowAgg line, thank you! I tried with a similar indexing strategy - it did…
2y ago·view thread
comment
No, this assumes you've already split your tasks into quanta of approximately the same duration - so all tasks are weighted equally in terms of execution time. If each of the tasks have different…
2y ago·view thread
comment
Hatchet ( https://hatchet.run ) | New York City | Full-time We're hiring a founding engineer to help us with development on our open-source, distributed task queue: https://g…
2y ago·view thread
comment
It is planned - see here for more details: https://news.ycombinator.com/item?id=39646300 . We still need to do some work on this feature though, we'll make sure to document it whe…
2y ago·view thread
comment
Yeah these are great questions. > Do you mean transactional within the same transaction as the application's own state? My guess is no (from looking at the docs, where enqueuing in the SDK loo…
2y ago·view thread
comment
Citus Data would like a word.
2y ago·view thread
comment
Well, for one - most otel services (like Honeycomb) are designed around aggregate views, and engineers found it difficult to track down the failure of specific workflows. We were already using Sentry,…
2y ago·view thread
comment
Presumably there'd be a messages table that you listen/notify on, and you'd replay messages that weren't consumed when a listener rejoins. But yeah, this is the overhead I was refe…
2y ago·view thread