Launching Idempotency Keys and Batch Tasks
We’re excited to announce that two highly-requested features are now available on Hatchet Cloud and our latest open-source releases: idempotency keys and batch tasks.
Idempotency keys
Idempotency keys are unique identifiers that ensure tasks are only run a single time, despite being triggered multiple times from multiple locations. This is particularly useful for use-cases like payment gateways, where one-time processing is essential, or when triggering expensive, resource-intensive work.
Batch tasks
Batch tasks automatically aggregate multiple tasks together and spawn them as a single batch, allowing you to reduce round-trips and downstream resource consumption. Many API providers, such as OpenAI or the S3 API, offer batch endpoints which are often significantly more cost-effective than calling APIs individually. We’ve also written about how batching can be an unreasonably effective strategy for increasing throughput on a Postgres database.
hatchet-embedded
We’re also very excited to announce a new project: hatchet-embedded. This runs an embedded Hatchet engine as a sidecar, alongside your workers, meant to be used for easier local development, CI environments, and e2e tests. It’s currently available as part of our Go SDK, but will be available to Typescript and Python users in the coming weeks.
Slot cost API
Lastly, we’re announcing our new slot cost API: this lets tasks consume different amounts of slots on workers, which can be used as a proxy for allocating memory or weighing some runs on workers more heavily than others.
Some other updates
- First off, we now have an RSS feed on our blog as well as each of our changelogs
- We dove deep into the history of idempotency keys, tracing through their invention and re-invention over the years
- We argue that coding agents supercharge the infamous Murphy’s Law, which informs how modern service providers should think about their API surface
That’s it for now!