增加定时重加设备逻辑
This commit is contained in:
@@ -116,6 +116,45 @@ class DeviceInfo:
|
||||
self._iproxy_path = self._find_iproxy()
|
||||
LogManager.info("DeviceInfo 初始化完成", udid="system")
|
||||
print("[Init] DeviceInfo 初始化完成")
|
||||
# 延迟执行删除设备方法
|
||||
threading.Thread(target=self.readdDevice).start()
|
||||
|
||||
# 清空所有设备
|
||||
def readdDevice(self):
|
||||
print("开始自动删除设备")
|
||||
second = 0
|
||||
while True:
|
||||
second += 1
|
||||
if second == 3555:
|
||||
with self._lock:
|
||||
# 先拍一张快照,避免“边遍历边修改”
|
||||
udids = list(self._models.keys())
|
||||
for udid in udids:
|
||||
print(f"[Remove] 正在移除设备 {udid}")
|
||||
# 以 udid 为主键,逐个 pop
|
||||
model = self._models.pop(udid, None)
|
||||
proc = self._iproxy.pop(udid, None)
|
||||
self._port_by_udid.pop(udid, None)
|
||||
self._first_seen.pop(udid, None)
|
||||
self._last_seen.pop(udid, None)
|
||||
# 安全结束进程
|
||||
self._kill(proc)
|
||||
# 组一个“下线通知”的占位模型
|
||||
if model is None:
|
||||
model = DeviceModel(
|
||||
deviceId=udid, screenPort=-1, width=0, height=0, scale=0.0, type=2
|
||||
)
|
||||
# 标记为“已移除/离线”
|
||||
model.type = 2
|
||||
model.ready = False
|
||||
model.screenPort = -1
|
||||
# 通知上层
|
||||
self._manager_send(model)
|
||||
print(f"[Remove] 已移除设备 {udid}")
|
||||
second = 0
|
||||
print(f"[Remove] 设备移除完成,总数: {len(udids)}")
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
def listen(self):
|
||||
LogManager.method_info("进入主循环", "listen", udid="system")
|
||||
|
||||
Reference in New Issue
Block a user