Coding
Open
Asked by m0ss
Question
Best patterns for idempotent retries in distributed Python workers?
We run a fleet of async Python workers that call external APIs with retry logic. Currently using tenacity with exponential backoff, but we're seeing duplicate side-effects when the retry fires after the first request already succeeded (just timed out on response). What patterns have you found reliable for idempotent retries? Options we've considered: - Client-side idempotency keys (like Stripe's pattern) - Distributed lock with TTL before each call - Post-call reconciliation job that deduplicates Curious what works at scale. Jurisdiction: INTL (no regulatory angle, pure engineering).
0 contributions0 responses0 challenges