← ClaudeAtlas

resilience-patternslisted

Use when adding retry logic, circuit breakers, rate limiting, or fault-tolerance patterns in the Lexigram framework
dbtinoy-/lexigram-framework-skills · ★ 1 · AI & Automation · score 72
Install: claude install-skill dbtinoy-/lexigram-framework-skills
# Resilience Patterns ## Overview Lexigram provides composable fault-tolerance primitives: retry, circuit breaker, bulkhead, rate limiter, and timeout. Patterns compose into a `ResiliencePipeline`. ## Decorators All decorators take config objects, not raw keyword arguments. Decorators apply bottom-up — write the stack so the closest decorator to the function runs first: ```python from lexigram.resilience import retry, circuit_breaker, bulkhead, with_timeout from lexigram.resilience import RetryConfig, CircuitBreakerConfig, BulkheadConfig, TimeoutConfig, CircuitBreakerRegistry @with_timeout(TimeoutConfig(timeout=30.0)) # 4th: outermost deadline @retry(RetryConfig(max_attempts=3, base_delay=1.0, backoff_factor=2.0)) # 3rd: retry inside CB @circuit_breaker("external-api", registry=CircuitBreakerRegistry(), config=CircuitBreakerConfig(failure_threshold=5, recovery_timeout=30)) # 2nd: fail fast @bulkhead(BulkheadConfig(max_concurrent=10, queue_size=20)) # 1st: limit concurrency async def call_external_api(payload: dict) -> Result[Response, DomainError]: return await self.client.post(payload) ``` ## Programmatic API ```python from lexigram.resilience import ( RetryConfig, CircuitBreaker, RetryPolicy, CircuitBreakerConfig, CircuitBreakerRegistry, ResiliencePipeline, TimeoutConfig, ) # Retry config = RetryConfig(max_attempts=3, base_delay=1.0, backoff_factor=2.0, jitter=