Commit 9d737363 authored by 广宏伟's avatar 广宏伟

Merged in dev (pull request #61)

[Bugfix] 修复边遍历connections边更改的bug
parents 6317dd2d d2b59e37
...@@ -170,12 +170,17 @@ class Coco: ...@@ -170,12 +170,17 @@ class Coco:
active_sessions = [str(session.id) for session in self.sessions] active_sessions = [str(session.id) for session in self.sessions]
for filename in os.listdir(log_dir): for filename in os.listdir(log_dir):
session_id = filename.split('.')[0] session_id = filename.split('.')[0]
full_path = os.path.join(log_dir, filename)
if len(session_id) != 36: if len(session_id) != 36:
continue continue
if session_id not in active_sessions: if session_id not in active_sessions:
recorder.file_path = os.path.join(log_dir, filename) recorder.file_path = full_path
recorder.upload_replay(session_id, 1) ok = recorder.upload_replay(session_id, 1)
if not ok and os.path.getsize(full_path) == 0:
os.unlink(full_path)
time.sleep(interval) time.sleep(interval)
thread = threading.Thread(target=func) thread = threading.Thread(target=func)
thread.start() thread.start()
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import os import os
import socket import socket
import uuid import uuid
from copy import deepcopy
from flask_socketio import SocketIO, Namespace, join_room from flask_socketio import SocketIO, Namespace, join_room
from flask import Flask, request, current_app, redirect from flask import Flask, request, current_app, redirect
...@@ -212,7 +211,8 @@ class ProxyNamespace(BaseNamespace): ...@@ -212,7 +211,8 @@ class ProxyNamespace(BaseNamespace):
def on_disconnect(self): def on_disconnect(self):
logger.debug("On disconnect event trigger") 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: try:
self.on_logout(room_id) self.on_logout(room_id)
except Exception as e: except Exception as e:
......
...@@ -252,7 +252,7 @@ class WSProxy: ...@@ -252,7 +252,7 @@ class WSProxy:
except (OSError, EOFError): except (OSError, EOFError):
self.close() self.close()
break break
if len(data) == 0: if not data:
self.close() self.close()
break break
data = data.decode(errors="ignore") data = data.decode(errors="ignore")
...@@ -276,6 +276,3 @@ class WSProxy: ...@@ -276,6 +276,3 @@ class WSProxy:
pass pass
logger.debug("Proxy {} closed".format(self)) 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