
"Entirely unsurprisingly, a lot of people are now building durable execution systems. Many of these, however, are incredibly complex and require you to sign up for another third-party service. I generally try to avoid bringing in extra complexity if I can avoid it, so I wanted to see how far I can go with just Postgres. To this end, I wrote Absurd , a tiny SQL-only library with a very thin SDK to enable durable workflows on top of just Postgres - no extension needed."
"Durable execution (or durable workflows) is a way to run long-lived, reliable functions that can survive crashes, restarts, and network failures without losing state or duplicating work. Durable execution can be thought of as the combination of a queue system and a state store that remembers the most recently seen execution state. Because Postgres is excellent at queues thanks to SELECT ... FOR UPDATE SKIP LOCKED, you can use it for the queue (e.g., with pgmq)."
Durable execution runs long-lived, reliable functions that survive crashes, restarts, and network failures without losing state or duplicating work. Durable execution combines a queue system with a state store that records the most recently seen execution state. Postgres can serve as both the queue (using SELECT ... FOR UPDATE SKIP LOCKED) and the state store. The approach decomposes tasks into smaller step functions and records each step and decision so the engine can replay events and resume exactly where it left off. Absurd implements this as a single SQL file plus a thin SDK, avoiding extra extensions or third-party services.
Read at Armin Ronacher's Thoughts and Writings
Unable to calculate read time
Collection
[
|
...
]