Coverage for src / mcp_server_langgraph / resilience / __init__.py: 100%
7 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-12-03 00:43 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2025-12-03 00:43 +0000
1"""
2Resilience patterns for production-ready MCP server.
4This module provides production-grade resilience patterns:
5- Circuit Breaker: Prevent cascade failures
6- Retry Logic: Exponential backoff with jitter
7- Timeout Enforcement: Prevent hanging requests
8- Bulkhead Isolation: Resource pool limits
9- Fallback Strategies: Graceful degradation
11See ADR-0026 for full rationale and design decisions.
12"""
14from mcp_server_langgraph.resilience.bulkhead import BulkheadConfig, get_bulkhead, with_bulkhead
15from mcp_server_langgraph.resilience.circuit_breaker import (
16 CircuitBreakerState,
17 circuit_breaker,
18 get_circuit_breaker,
19 get_circuit_breaker_state,
20 reset_circuit_breaker,
21)
22from mcp_server_langgraph.resilience.config import ResilienceConfig, get_resilience_config
23from mcp_server_langgraph.resilience.fallback import (
24 FallbackStrategy,
25 fail_closed,
26 fail_open,
27 return_empty_on_error,
28 with_fallback,
29)
30from mcp_server_langgraph.resilience.retry import RetryPolicy, RetryStrategy, retry_with_backoff
31from mcp_server_langgraph.resilience.timeout import TimeoutConfig, with_timeout
33__all__ = [
34 # Circuit Breaker
35 "circuit_breaker",
36 "CircuitBreakerState",
37 "get_circuit_breaker",
38 "get_circuit_breaker_state",
39 "reset_circuit_breaker",
40 # Retry
41 "retry_with_backoff",
42 "RetryPolicy",
43 "RetryStrategy",
44 # Timeout
45 "with_timeout",
46 "TimeoutConfig",
47 # Bulkhead
48 "with_bulkhead",
49 "BulkheadConfig",
50 "get_bulkhead",
51 # Fallback
52 "with_fallback",
53 "fail_open",
54 "fail_closed",
55 "return_empty_on_error",
56 "FallbackStrategy",
57 # Config
58 "ResilienceConfig",
59 "get_resilience_config",
60]