| ▲ | jedberg 4 hours ago | |||||||||||||||||||||||||
The key to a durable workflow is making each step idempotent. Then you don't have to worry about those things. You just run the failed step again. If it already worked the first time, it's a no-op. For example, stripe lets you include an idempotency key with your request. If you try to make a charge again with the same key, it ignores you. A DE framework like DBOS will automatically generate the idempotency key for you. But you're correct, if you can't make the operation idempotent, then you have to handle that yourself. | ||||||||||||||||||||||||||
| ▲ | repeekad 4 hours ago | parent [-] | |||||||||||||||||||||||||
Temporal plus idempotency keys solves probably the majority of infrastructure normally needed for production systems | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||