Retry Timeout Strategies
Skill Profile
(Select at least one profile to enable specific modules)
Overview
In distributed systems, transient failures are inevitable. Proper retry, timeout, and backoff strategies are essential for building resilient applications that gracefully handle temporary failures without overwhelming downstream services.
Core Principle: "Fail fast, retry smart, back off gracefully, and never give up."
Why This Matters
- Reliability: Handles transient failures gracefully
- User Experience: Reduces perceived outages from temporary issues
- System Health: Prevents cascading failures from retry storms
- Cost Efficiency: Optimizes resource usage with appropriate timeouts
- Observability: Provides metrics on retry behavior and failure rates
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- API endpoint definitions and operation types
- External service dependencies
- Latency metrics and SLA requirements
- Entry Conditions:
- Timeout values are configured for all operations
- Retry logic is implemented for transient failures
- Circuit breakers are configured for external dependencies
- Outputs:
- Retry, timeout, and backoff implementations
- Circuit breaker configurations
- Monitoring and metrics for retry behavior
- Artifacts Required (Deliverables):
- Timeout configuration documentation
- Retry strategy implementation
- Circuit breaker setup
- Monitoring dashboards for retry rates
- Acceptance Evidence:
- Load test showing retry behavior under failure
- Circuit breaker state transition logs
- Timeout effectiveness metrics
- Success Criteria:
- Transient failures are handled gracefully
- Circuit breaker prevents cascading failures
- Retry storms are prevented with backoff and jitter
- Timeout values are appropriate for SLA
Skill Composition
- Depends on: Idempotency, Monitoring & Observability
- Compatible with: Circuit Breaker, Graceful Degradation
- Conflicts with: Systems that cannot handle retries safely
- Related Skills:
- 40-system-resilience/idempotency-and-dedup - Idempotency for safe retries
- 40-system-resilience/graceful-degradation - Fallback strategies
- 40-system-resilience/failure-modes - Understanding what to retry
Quick Start / Implementation Example
- Review requirements and constraints
- Set up development environment
- Implement core functionality following patterns
- Write tests for critical paths
- Run tests and fix issues
- Document any deviations or decisions
# Example implementation following best practices
def example_function():
# Your implementation here
pass
Assumptions / Constraints / Non-goals
- Assumptions:
- Development environment is properly configured
- Required dependencies are available
- Team has basic understanding of domain
- Constraints:
- Must follow existing codebase conventions
- Time and resource limitations
- Compatibility requirements
- Non-goals:
- This skill does not cover edge cases outside scope
- Not a replacement for formal training
Compatibility & Prerequisites
- Supported Versions:
- Python 3.8+
- Node.js 16+
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Required AI Tools:
- Code editor (VS Code recommended)
- Testing framework appropriate for language
- Version control (Git)
- Dependencies:
- Language-specific package manager
- Build tools
- Testing libraries
- Environment Setup:
.env.example keys: API_KEY, DATABASE_URL (no values)
Test Scenario Matrix (QA Strategy)
| Type |
Focus Area |
Required Scenarios / Mocks |
| Unit |
Core Logic |
Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration |
DB / API |
All external API calls or database connections must be mocked during unit tests |
| E2E |
User Journey |
Critical user flows to test |
| Performance |
Latency / Load |
Benchmark requirements |
| Security |
Vuln / Auth |
SAST/DAST or dependency audit |
| Frontend |
UX / A11y |
Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done (DoD) Checklist
Anti-patterns / Pitfalls
- ⛔ Don't: Log PII, catch-all exception, N+1 queries
- ⚠️ Watch out for: Common symptoms and quick fixes
- 💡 Instead: Use proper error handling, pagination, and logging
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: retry-timeout-strategies3description: In distributed systems, transient failures are inevitable. Proper retry, Use when this capability is needed.4---56# Retry Timeout Strategies78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17In distributed systems, transient failures are inevitable. Proper retry, timeout, and backoff strategies are essential for building resilient applications that gracefully handle temporary failures without overwhelming downstream services.1819**Core Principle**: "Fail fast, retry smart, back off gracefully, and never give up."2021## Why This Matters22- **Reliability**: Handles transient failures gracefully23- **User Experience**: Reduces perceived outages from temporary issues24- **System Health**: Prevents cascading failures from retry storms25- **Cost Efficiency**: Optimizes resource usage with appropriate timeouts26- **Observability**: Provides metrics on retry behavior and failure rates2728---2930## Core Concepts & Rules3132### 1. Core Principles33- Follow established patterns and conventions34- Maintain consistency across codebase35- Document decisions and trade-offs3637### 2. Implementation Guidelines38- Start with the simplest viable solution39- Iterate based on feedback and requirements40- Test thoroughly before deployment414243## Inputs / Outputs / Contracts44* **Inputs**:45 - API endpoint definitions and operation types46 - External service dependencies47 - Latency metrics and SLA requirements48* **Entry Conditions**:49 - Timeout values are configured for all operations50 - Retry logic is implemented for transient failures51 - Circuit breakers are configured for external dependencies52* **Outputs**:53 - Retry, timeout, and backoff implementations54 - Circuit breaker configurations55 - Monitoring and metrics for retry behavior56* **Artifacts Required (Deliverables)**:57 - Timeout configuration documentation58 - Retry strategy implementation59 - Circuit breaker setup60 - Monitoring dashboards for retry rates61* **Acceptance Evidence**:62 - Load test showing retry behavior under failure63 - Circuit breaker state transition logs64 - Timeout effectiveness metrics65* **Success Criteria**:66 - Transient failures are handled gracefully67 - Circuit breaker prevents cascading failures68 - Retry storms are prevented with backoff and jitter69 - Timeout values are appropriate for SLA7071## Skill Composition72* **Depends on**: Idempotency, Monitoring & Observability73* **Compatible with**: Circuit Breaker, Graceful Degradation74* **Conflicts with**: Systems that cannot handle retries safely75* **Related Skills**: 76 - [40-system-resilience/idempotency-and-dedup](40-system-resilience/idempotency-and-dedup/SKILL.md) - Idempotency for safe retries77 - [40-system-resilience/graceful-degradation](40-system-resilience/graceful-degradation/SKILL.md) - Fallback strategies78 - [40-system-resilience/failure-modes](40-system-resilience/failure-modes/SKILL.md) - Understanding what to retry7980---8182## Quick Start / Implementation Example83841. Review requirements and constraints852. Set up development environment863. Implement core functionality following patterns874. Write tests for critical paths885. Run tests and fix issues896. Document any deviations or decisions9091```python92# Example implementation following best practices93def example_function():94 # Your implementation here95 pass96```979899## Assumptions / Constraints / Non-goals100101* **Assumptions**:102 - Development environment is properly configured103 - Required dependencies are available104 - Team has basic understanding of domain105* **Constraints**:106 - Must follow existing codebase conventions107 - Time and resource limitations108 - Compatibility requirements109* **Non-goals**:110 - This skill does not cover edge cases outside scope111 - Not a replacement for formal training112113114## Compatibility & Prerequisites115116* **Supported Versions**:117 - Python 3.8+118 - Node.js 16+119 - Modern browsers (Chrome, Firefox, Safari, Edge)120* **Required AI Tools**:121 - Code editor (VS Code recommended)122 - Testing framework appropriate for language123 - Version control (Git)124* **Dependencies**:125 - Language-specific package manager126 - Build tools127 - Testing libraries128* **Environment Setup**:129 - `.env.example` keys: `API_KEY`, `DATABASE_URL` (no values)130131132## Test Scenario Matrix (QA Strategy)133134| Type | Focus Area | Required Scenarios / Mocks |135| :--- | :--- | :--- |136| **Unit** | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |137| **Integration** | DB / API | All external API calls or database connections must be mocked during unit tests |138| **E2E** | User Journey | Critical user flows to test |139| **Performance** | Latency / Load | Benchmark requirements |140| **Security** | Vuln / Auth | SAST/DAST or dependency audit |141| **Frontend** | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |142143144## Technical Guardrails & Security Threat Model145146### 1. Security & Privacy (Threat Model)147* **Top Threats**: Injection attacks, authentication bypass, data exposure148- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII149- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager150- [ ] **Authorization**: Validate user permissions before state changes151152### 2. Performance & Resources153- [ ] **Execution Efficiency**: Consider time complexity for algorithms154- [ ] **Memory Management**: Use streams/pagination for large data155- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks156157### 3. Architecture & Scalability158- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection159- [ ] **Modularity**: Decouple logic from UI/Frameworks160161### 4. Observability & Reliability162- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`163- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`164- [ ] **Error Handling**: Standardized error codes, no bare except165- [ ] **Observability Artifacts**:166 - **Log Fields**: timestamp, level, message, request_id167 - **Metrics**: request_count, error_count, response_time168 - **Dashboards/Alerts**: High Error Rate > 5%169170171## Agent Directives & Error Recovery172*(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)*173174- **Thinking Process**: Analyze root cause before fixing. Do not brute-force.175- **Fallback Strategy**: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.176- **Self-Review**: Check against Guardrails & Anti-patterns before finalizing.177- **Output Constraints**: Output ONLY the modified code block. Do not explain unless asked.178179180## Definition of Done (DoD) Checklist181182- [ ] Tests passed + coverage met183- [ ] Lint/Typecheck passed184- [ ] Logging/Metrics/Trace implemented185- [ ] Security checks passed186- [ ] Documentation/Changelog updated187- [ ] Accessibility/Performance requirements met (if frontend)188189190## Anti-patterns / Pitfalls191192* ⛔ **Don't**: Log PII, catch-all exception, N+1 queries193* ⚠️ **Watch out for**: Common symptoms and quick fixes194* 💡 **Instead**: Use proper error handling, pagination, and logging195196197## Reference Links & Examples198199* Internal documentation and examples200* Official documentation and best practices201* Community resources and discussions202203204## Versioning & Changelog205206* **Version**: 1.0.0207* **Changelog**:208 - 2026-02-22: Initial version with complete template structure209210---211> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.212<!-- tomevault:4.0:skill_md:2026-04-13 -->