in src/backend/entrypoints/llm_backend/infrastructure/session.py [0:0]
def delete_expired_sessions(self, optimization_storage_url: str) -> None:
deleted_count = 0
for key in self._redis_client.scan_iter(f"{self.BASE_HASH_KEY}:*"):
user_sessions = self._redis_client.hgetall(key)
for serialized_session_id, serialized_session in user_sessions.items():
session = self._deserialize_session(serialized_session)
if session.is_expired():
studies_names = session.get("optimization_studies_names", [])
for study_name in studies_names:
try:
delete_optimization_study(optimization_storage_url, study_name)
except KeyError:
# Study doesn't exist, perhaps it was revoked or already deleted
pass
email = self._deserialize_bytes(key).split(":")[1]
session_id = self._deserialize_bytes(serialized_session_id)
self.delete(email, session_id)
deleted_count += 1
logger.info("Deleted %s expired sessions", deleted_count)