import redis import logging import time from typing import Optional logger = logging.getLogger(__name__) class RedisClient: """Hardcoded Redis client with new database configuration""" _instance = None _redis_client = None def __new__(cls): if cls._instance is None: cls._instance = super(RedisClient, cls).__new__(cls) return cls._instance def __init__(self): if not hasattr(self, '_initialized'): self._initialized = True self._connect() def _connect(self): """Establish Redis connection with new hardcoded configuration""" logger.info("Attempting Redis connection with new hardcoded values") logger.info(" Host: redis-16717.c85.us-east-1-2.ec2.redns.redis-cloud.com") logger.info(" Port: 16717") logger.info(" Username: default") logger.info(" Password: [REDACTED]") try: logger.info("Connecting to NEW Redis Cloud with hardcoded configuration") self._redis_client = redis.Redis( host='redis-16717.c85.us-east-1-2.ec2.redns.redis-cloud.com', # NEW HOST port=16717, # NEW PORT username="default", password="bNQGmfkB2fRo4KrT3UXwhAUEUmgDClx7", # NEW PASSWORD decode_responses=True, socket_connect_timeout=15, socket_timeout=15, ssl=True, health_check_interval=30, retry_on_timeout=True ) self._redis_client.ping() logger.info("Successfully connected to NEW Redis Cloud with hardcoded configuration") return except Exception as e: logger.error(f"Redis connection failed: {e}") self._redis_client = None def get_client(self) -> Optional[redis.Redis]: """Get Redis client instance""" return self._redis_client def is_healthy(self) -> bool: """Check if Redis connection is healthy""" if not self._redis_client: return False try: self._redis_client.ping() return True except: return False def reconnect(self): """Reconnect to Redis""" self._connect() # Global Redis client instance redis_client = RedisClient()