fariedalfarizi's picture
Add profanity detection feature with 150+ Indonesian/English words
c7e434a
"""
Redis client setup
"""
import redis
from rq import Queue
from app.config import settings
def get_redis_connection():
"""Get Redis connection for RQ (without decode_responses)"""
redis_kwargs = {
'host': settings.REDIS_HOST,
'port': settings.REDIS_PORT,
'db': settings.REDIS_DB,
}
# Only add password if it's set
if settings.REDIS_PASSWORD:
redis_kwargs['password'] = settings.REDIS_PASSWORD
# Don't use decode_responses for RQ compatibility
return redis.Redis(**redis_kwargs)
def get_queue():
"""Get RQ Queue"""
conn = get_redis_connection()
return Queue(settings.QUEUE_NAME, connection=conn)
def check_redis_connection():
"""
Check if Redis connection is working
Returns tuple: (is_connected: bool, error_message: str)
"""
try:
conn = get_redis_connection()
conn.ping()
return True, None
except redis.ConnectionError as e:
return False, f"Redis connection error: {str(e)}"
except Exception as e:
return False, f"Redis error: {str(e)}"