Back to catalog / Developer tools
Python resilience: retry only recoverable failures
Design timeouts, exponential backoff, jitter, and a total attempt bound for dependencies.
Skills
Classify timeout/transient 5xx/rate limits separately from permanent authentication or parameter errors. Confirm request idempotency; never replay a write without an idempotency key. Bound per-call and end-to-end timeouts and attempts, use exponential backoff with jitter, and respect `Retry-After`. Add circuit breaking/concurrency limits to prevent retry storms. Record attempt counts and final status without sensitive payloads. Simulate transient faults and exhausted budgets to verify latency limits and recovery behavior.
Permissions
Prerequisites
- For adding timeouts, bounded retries, backoff, jitter, or circuit breakers to Python dependencies.
- Define protocol, retryable errors, idempotency, and end-to-end latency budget.
Permissions
- May change request/retry logic and telemetry.
- Retries amplify load and can duplicate non-idempotent writes; do not blindly retry auth/client errors.
Limitations
Bound attempts and total duration, use exponential jitter, honor Retry-After/budgets, and separate transient from permanent errors.
Pinned upstream source
- Repository
- wshobson/agents
- File path
- plugins/python-development/skills/python-resilience/SKILL.md
- Pinned commit
46891e7e60da0e52baf1050b7b6391b64e84c6d9- Source checked
- 2026-10-14 · Reviewed against the pinned upstream source
Repository metrics
These values describe the upstream repository, not popularity or likes for an individual skill or playbook.
- Stars
- Not collected
- Forks
- Not collected
- Observed at
- Not collected
No metrics snapshot is available yet.
License: MIT
Compatible tools
Bounded retry/backoff · Timeouts · Circuit breaker patterns
Main topic
Take a coding Agent change from context to verification