"""External service adapters for System Health.""" from collections.abc import Callable import redis from app.config import settings RedisFactory = Callable[[], redis.Redis] def default_redis_factory() -> redis.Redis: return redis.Redis.from_url( settings.redis_url, socket_connect_timeout=2, socket_timeout=2, ) class RedisHealthAdapter: def __init__(self, factory: RedisFactory | None = None): self._factory = factory or default_redis_factory def ping(self) -> bool: try: return bool(self._factory().ping()) except Exception: return False