Company
Date Published
Author
Keith Tenzer and Joshua Smith
Word count
2943
Language
English
Hacker News points
None

Summary

Idempotency is a crucial property in programming, particularly when working with durable execution systems like Temporal. It refers to a request that produces the same result regardless of how many times it is made. This concept is important because no system is perfectly reliable, and when things fail, we need to retry what we were doing safely without causing unintended duplicate effects. Examples of idempotent operations include updating a customer's address in a database or using the stop button in a media player app. Temporal allows developers to maintain state and progress Workflows to completion regardless of failures while providing built-in retry logic for Activities, ensuring "at least once" execution. To make your Activities idempotent, you can use idempotency keys, check pre-existing results, or create stateless Activities.