Open
Description
Traceback (most recent call last):
File "/backend/src/services/redis_service.py", line 94, in get_cached_profiles
fetched_profiles = await self.client.json().mget(keys, Path.root_path())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/redis/asyncio/client.py", line 616, in execute_command
return await conn.retry.call_with_retry(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry
return await do()
^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/redis/asyncio/client.py", line 589, in _send_command_parse_response
await conn.send_command(*args)
File "/opt/venv/lib/python3.12/site-packages/redis/asyncio/connection.py", line 505, in send_command
await self.send_packed_command(
File "/opt/venv/lib/python3.12/site-packages/redis/asyncio/connection.py", line 480, in send_packed_command
self._writer.writelines(command)
File "/usr/local/lib/python3.12/asyncio/streams.py", line 349, in writelines
self._transport.writelines(data)
File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1182, in writelines
self._write_ready()
TypeError: 'NoneType' object is not callable
I am experiencing this issue especially in peak traffic.
My redis service is initialized this way:
import redis.asyncio as redis
@lru_cache()
def get_redis_pool():
settings = get_settings()
return redis.ConnectionPool.from_url(settings.REDIS_URL_WITH_PASSWORD, decode_responses=True)
@lru_cache()
def get_redis_client():
redis_pool = get_redis_pool()
client = redis.Redis(connection_pool=redis_pool)
return client
# Dependency to create RedisService
async def get_redis_service(
redis_client: redis.Redis = Depends(get_redis_client),
firestore_db: firestore.AsyncClient = Depends(get_firestore_db),
):
from src.services.redis_service import RedisService
return RedisService(redis_client, firestore_db)
Am I missing something in my redis client?
I saw an issue similar to this here but upgrading python to 3.12.9 didn't help.
python 3.12.9
redis 5.2.1
Metadata
Metadata
Assignees
Labels
No labels