feat: STF设备管理彻底删除(脚本+断开+STF API清记录)+ 一键重连(后台跑connect脚本)+ 跳过原因日志区分离线/未就绪 + SSH超时错误分类
This commit is contained in:
@@ -160,6 +160,25 @@ class STFClient:
|
||||
_log.error(f"释放 {serial} 失败: {msg}")
|
||||
return released, failed
|
||||
|
||||
def delete_device(self, serial):
|
||||
"""从 STF 池彻底删除设备记录(清理离线幽灵设备用)。
|
||||
|
||||
DELETE /api/v1/devices/{serial}(实测可用):断开后 STF 数据库里残留的
|
||||
present=False 陈旧记录会一直显示在设备池,用此端点彻底移除。
|
||||
"""
|
||||
import urllib.parse
|
||||
try:
|
||||
r = requests.delete(
|
||||
f"{self.base_url}/api/v1/devices/{urllib.parse.quote(serial, safe='')}",
|
||||
headers=self.headers, timeout=_TIMEOUT)
|
||||
if r.status_code in (200, 202, 204):
|
||||
_log.info(f"已从 STF 池删除设备 {serial}")
|
||||
return True, "已从 STF 池删除"
|
||||
return False, f"HTTP {r.status_code}: {r.text[:150]}"
|
||||
except requests.exceptions.RequestException as e:
|
||||
_log.warning(f"删除 STF 设备 {serial} 请求异常: {e}")
|
||||
return False, str(e)
|
||||
|
||||
# ================== 远程 ADB 隧道 ==================
|
||||
def remote_connect(self, serial):
|
||||
"""建立远程 ADB 隧道,返回 remoteConnectUrl。
|
||||
|
||||
Reference in New Issue
Block a user