From 524bd0f06bfa33cc32e2026e51da0e8301c561a2 Mon Sep 17 00:00:00 2001 From: Brian Bjarke Jensen Date: Sun, 14 Sep 2025 19:52:39 +0200 Subject: [PATCH] fixed connection error handling --- python_repositories/adapters/redis_adapter.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/python_repositories/adapters/redis_adapter.py b/python_repositories/adapters/redis_adapter.py index fc85c4f..660939d 100644 --- a/python_repositories/adapters/redis_adapter.py +++ b/python_repositories/adapters/redis_adapter.py @@ -62,12 +62,15 @@ class RedisAdapter( # Prepare arguments uri = str(os.getenv(self.uri_env_var_name)) # Connect client - client = redis.Redis.from_url( - url=uri, - socket_connect_timeout=10, - ) - if not client.ping(): - raise ConnectionError(f"Could not connect to Redis at {uri}") + try: + client = redis.Redis.from_url( + url=uri, + socket_connect_timeout=10, + ) + if not client.ping(): + raise ConnectionError(f"Could not connect to Redis at {uri}") + except (redis.ConnectionError, redis.TimeoutError) as exc: + raise ConnectionError(f"Could not connect to Redis at {uri}") from exc # Persist client self._client = client @@ -128,7 +131,7 @@ class RedisAdapter( self._client.json().delete(key) self.logger.debug(f"Deleted {key}") - async def _list_keys(self, pattern: str) -> list[str]: + def _list_keys(self, pattern: str) -> list[str]: """List keys in Redis matching a pattern.""" # Check input if not isinstance(pattern, str) or len(pattern) == 0: