diff --git a/app/configs/global_var.py b/app/configs/global_var.py index 2a2dfe0..9f75d5b 100644 --- a/app/configs/global_var.py +++ b/app/configs/global_var.py @@ -8,8 +8,8 @@ """ import multiprocessing -global active_connections -global active_connections_dist + + def _init(): # 初始化 # 中断标志 @@ -17,9 +17,11 @@ def _init(): # 初始化 _global_dict = {} # ws列表存储 + global active_connections active_connections = multiprocessing.Manager().list() # ws字典存储 + global active_connections_dist active_connections_dist = multiprocessing.Manager().dict() diff --git a/app/utils/websocket_tool.py b/app/utils/websocket_tool.py index e8863cb..96d990f 100644 --- a/app/utils/websocket_tool.py +++ b/app/utils/websocket_tool.py @@ -20,10 +20,10 @@ class WebsocketUtil: # 等待连接 msg = ws.receive() # 存储ws连接对象 - global active_connections + # global active_connections # active_connections = get_active_connections() active_connections.append(ws) - global active_connections_dist + # global active_connections_dist # active_connections_dist = get_active_connections_dist() if id in active_connections_dist: active_connections_dist[id].append(ws) @@ -35,9 +35,9 @@ class WebsocketUtil: # ws关闭时 移除ws对象 if ws.closed: if ws in active_connections_dist.values(): - global active_connections + # global active_connections active_connections.remove(ws) - global active_connections_dist + # global active_connections_dist active_connections_dist[id].pop(ws) @staticmethod @@ -47,13 +47,13 @@ class WebsocketUtil: def broadcast(self, message: str): # 广播消息 - global active_connections + # global active_connections for connection in active_connections: connection.send(message) def send_message_proj_json(self, message: Union[str, int, List, Dict], id: str): # 广播该项目的消息 - global active_connections_dist + # global active_connections_dist for connection in active_connections_dist[id]: try: connection.send(json.dumps(message, cls=MyEncoder, indent=4), )