Просмотр исходного кода

Feature: Minor refactor of SessionManager to make it a dataclass (#4553)

tofarr 1 год назад
Родитель
Сommit
60990c128a
1 измененных файлов с 5 добавлено и 5 удалено
  1. 5 5
      openhands/server/session/manager.py

+ 5 - 5
openhands/server/session/manager.py

@@ -1,5 +1,6 @@
 import asyncio
 import time
+from dataclasses import dataclass, field
 from typing import Optional
 
 from fastapi import WebSocket
@@ -13,16 +14,15 @@ from openhands.server.session.session import Session
 from openhands.storage.files import FileStore
 
 
+@dataclass
 class SessionManager:
-    _sessions: dict[str, Session] = {}
+    config: AppConfig
+    file_store: FileStore
     cleanup_interval: int = 300
     session_timeout: int = 600
+    _sessions: dict[str, Session] = field(default_factory=dict)
     _session_cleanup_task: Optional[asyncio.Task] = None
 
-    def __init__(self, config: AppConfig, file_store: FileStore):
-        self.config = config
-        self.file_store = file_store
-
     async def __aenter__(self):
         if not self._session_cleanup_task:
             self._session_cleanup_task = asyncio.create_task(self._cleanup_sessions())