Spaces:
Paused
Paused
Update chat_session/websocket_manager.py
Browse files
chat_session/websocket_manager.py
CHANGED
|
@@ -137,23 +137,30 @@ class WebSocketManager:
|
|
| 137 |
if connection:
|
| 138 |
await connection.close()
|
| 139 |
del self.connections[session_id]
|
| 140 |
-
|
| 141 |
# Remove message queue
|
| 142 |
if session_id in self.message_queues:
|
| 143 |
del self.message_queues[session_id]
|
| 144 |
-
|
| 145 |
log_info(
|
| 146 |
f"🔌 WebSocket disconnected",
|
| 147 |
session_id=session_id,
|
| 148 |
total_connections=len(self.connections)
|
| 149 |
)
|
| 150 |
-
|
| 151 |
# Publish disconnection event
|
| 152 |
await self.event_bus.publish(Event(
|
| 153 |
type=EventType.WEBSOCKET_DISCONNECTED,
|
| 154 |
session_id=session_id,
|
| 155 |
data={}
|
| 156 |
))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 157 |
|
| 158 |
async def handle_connection(self, websocket: WebSocket, session_id: str):
|
| 159 |
"""Handle WebSocket connection lifecycle"""
|
|
|
|
| 137 |
if connection:
|
| 138 |
await connection.close()
|
| 139 |
del self.connections[session_id]
|
| 140 |
+
|
| 141 |
# Remove message queue
|
| 142 |
if session_id in self.message_queues:
|
| 143 |
del self.message_queues[session_id]
|
| 144 |
+
|
| 145 |
log_info(
|
| 146 |
f"🔌 WebSocket disconnected",
|
| 147 |
session_id=session_id,
|
| 148 |
total_connections=len(self.connections)
|
| 149 |
)
|
| 150 |
+
|
| 151 |
# Publish disconnection event
|
| 152 |
await self.event_bus.publish(Event(
|
| 153 |
type=EventType.WEBSOCKET_DISCONNECTED,
|
| 154 |
session_id=session_id,
|
| 155 |
data={}
|
| 156 |
))
|
| 157 |
+
|
| 158 |
+
# ✅ Session'ı da sonlandır
|
| 159 |
+
await self.event_bus.publish(Event(
|
| 160 |
+
type=EventType.SESSION_ENDED,
|
| 161 |
+
session_id=session_id,
|
| 162 |
+
data={"reason": "websocket_disconnected"}
|
| 163 |
+
))
|
| 164 |
|
| 165 |
async def handle_connection(self, websocket: WebSocket, session_id: str):
|
| 166 |
"""Handle WebSocket connection lifecycle"""
|