Commit d2b59e37 authored by ibuler's avatar ibuler

[Bugfix] 修复边遍历connections边更改的bug

parent d4e027d7
......@@ -170,12 +170,17 @@ class Coco:
active_sessions = [str(session.id) for session in self.sessions]
for filename in os.listdir(log_dir):
session_id = filename.split('.')[0]
full_path = os.path.join(log_dir, filename)
if len(session_id) != 36:
continue
if session_id not in active_sessions:
recorder.file_path = os.path.join(log_dir, filename)
recorder.upload_replay(session_id, 1)
recorder.file_path = full_path
ok = recorder.upload_replay(session_id, 1)
if not ok and os.path.getsize(full_path) == 0:
os.unlink(full_path)
time.sleep(interval)
thread = threading.Thread(target=func)
thread.start()
......
......@@ -4,7 +4,6 @@
import os
import socket
import uuid
from copy import deepcopy
from flask_socketio import SocketIO, Namespace, join_room
from flask import Flask, request, current_app, redirect
......@@ -212,7 +211,8 @@ class ProxyNamespace(BaseNamespace):
def on_disconnect(self):
logger.debug("On disconnect event trigger")
for room_id in self.connections.get(request.sid, {}):
rooms = {k: v for k, v in self.connections.get(request.sid, {}).items()}
for room_id in rooms:
try:
self.on_logout(room_id)
except Exception as e:
......
......@@ -252,7 +252,7 @@ class WSProxy:
except (OSError, EOFError):
self.close()
break
if len(data) == 0:
if not data:
self.close()
break
data = data.decode(errors="ignore")
......@@ -276,6 +276,3 @@ class WSProxy:
pass
logger.debug("Proxy {} closed".format(self))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment