remove browser version management
This commit is contained in:
@@ -39,7 +39,7 @@ React → Go control-plane(账号/任务/绑定/业务结果/素材发布)
|
||||
| 概念 | 变更 | 约束 |
|
||||
| --- | --- | --- |
|
||||
| gateway | 保留节点登记、显示名称与 Endpoint;新增持久稳定节点身份/能力 | 仍有关联资源时不得把旧节点改指新机器;无自动迁移 |
|
||||
| browser version | 删除镜像拉取/构建语义,改为预安装浏览器版本及可用状态 | 每台 gateway 核对实际版本、指纹参数与路径;缺失时明确报错 |
|
||||
| gateway runtime | 删除镜像拉取/构建和 control-plane 版本管理语义,使用 gateway 宿主机预安装运行时 | gateway 核对实际版本、指纹参数与路径;缺失时明确报错 |
|
||||
| environment | 保留稳定账号环境、指纹与绑定;版本字段去除 image 语义 | 环境定义不等于正在运行的浏览器,元数据创建不应提前占用进程 |
|
||||
| runtime | 用节点身份 + environment + generation 代替 container/network ID | 状态、清理、事件和代理绑定均核对代次;不能只用 PID |
|
||||
| profile | 原 Docker volume 改为 gateway 依据内部 ID 生成的持久目录 | 单 Profile 独占打开;任何任务请求都不能指定任意删除路径 |
|
||||
@@ -76,7 +76,7 @@ React → Go control-plane(账号/任务/绑定/业务结果/素材发布)
|
||||
先写失败测试,再实现:
|
||||
|
||||
- 提取并保留现有与 Docker 无关的代理、CDP、页面动作;将 gateway 包和测试从 Docker 命名改为浏览器领域命名,建议目标路径 `browser_gateway/`。
|
||||
- 原生启动输入校验在创建目录/进程之前完成:节点、环境、代次、浏览器版本、Profile、代理绑定及必要资源容量。
|
||||
- 原生启动输入校验在创建目录/进程之前完成:节点、环境、代次、gateway 默认运行时、Profile、代理绑定及必要资源容量。
|
||||
- 创建前落盘运行意图;用 runtime 专属 unit/临时目录启动 Xvfb 和浏览器,分配不冲突的 display 与端口。Profile 独占不能只靠控制面内存锁。
|
||||
- 默认不继承 `--no-sandbox`;浏览器与 gateway 以非 root 身份运行。具体 sandbox 模式由目标二进制/发行版证明。
|
||||
- 创建失败逆序回收已经创建的资源;停止为有界的优雅退出、OS 终止与目录清理。
|
||||
@@ -96,8 +96,8 @@ React → Go control-plane(账号/任务/绑定/业务结果/素材发布)
|
||||
- 继续复用既有多 gateway 登记、路由和心跳;核对稳定机器身份。节点 Endpoint 的更换不能改写既存 cleanup 的目的地。
|
||||
- 代理服务不再依赖 Docker IP/网络,仍保留代理绑定代次和失败可见性;从目标 gateway 的实际浏览器路径验证出口。
|
||||
- 登录二维码、账号身份快照、恢复事件订阅全部使用新 runtime 身份;不能随运行代次变化清空业务事件去重、基线和已占用 UID 冷却。先用确定性测试覆盖重启/重连、冷却内新事件、冷却到期旧事件及迟到事件不补发;真实平台按 C02/D04 验收。
|
||||
- 接入停止后的普通浏览器版本升级,复用原 Profile 与稳定指纹;启动后核对实际版本及账号身份,不通过新建环境或重置账号资料实现升级。
|
||||
- 同阶段交付首个闭环所需的 Refine data provider 适配、已安装版本选择/普通升级、登录、显式启停与采集入口;环境页区分定义与运行状态,任务页分别展示业务结果、清理状态和明确错误,不只写日志。覆盖节点不可达、版本缺失、Profile 占用、待清理及禁用状态的交互测试,不推迟至 P4。
|
||||
- 停止后如需更换浏览器运行时,由 gateway 宿主机维护配置并重新启动;复用原 Profile 与稳定指纹,启动后核对实际运行时及账号身份。
|
||||
- 同阶段交付首个闭环所需的 Refine data provider 适配、gateway 运行时核验、登录、显式启停与采集入口;环境页区分定义与运行状态,任务页分别展示业务结果、清理状态和明确错误,不只写日志。覆盖节点不可达、版本缺失、Profile 占用、待清理及禁用状态的交互测试,不推迟至 P4。
|
||||
- 本阶段即接入最小任务归属:仅对空闲专用采集账号申请独占使用权,自动创建、执行并用独立有界上下文回收;创建前登记资源 owner,正常/失败都释放。借入长期会话、多任务续租和素材崩溃恢复在 P3 完成,不以无归属的临时启动代码作为中间方案。
|
||||
- 一台 gateway 的不可达不能阻塞其他节点的续租/状态更新;在现有机制上做有界隔离,不增加第二套 scheduler。
|
||||
|
||||
@@ -122,9 +122,9 @@ React → Go control-plane(账号/任务/绑定/业务结果/素材发布)
|
||||
|
||||
### P4:界面、部署与清理旧路径
|
||||
|
||||
- 在 P2 已可用的版本选择/普通升级、启停及任务状态界面上,完成浏览器版本管理与各节点可用情况展示;移除无效的镜像拉取、构建、容器/网络操作。
|
||||
- 在 P2 已可用的 gateway 运行时核验、启停及任务状态界面上,完成各节点可用情况展示;移除无效的镜像拉取、构建、容器/网络操作。
|
||||
- 扩展 P2 的 Refine data provider 和交互测试,覆盖 P3 完整资源归属及多节点场景;保留业务结果、清理状态、错误和禁用原因分别可见,不把首个闭环必需的界面工作留到本阶段。
|
||||
- 增加可重复部署的 gateway/原生 runner 用户服务配置和本机浏览器安装说明。跨重启保留节点 ID、Profile、版本配置和运行清单。
|
||||
- 增加可重复部署的 gateway/原生 runner 用户服务配置和本机浏览器安装说明。跨重启保留节点 ID、Profile、gateway 运行时配置和运行清单。
|
||||
- 若 runtime 允许跨 gateway 重启存活,其临时目录必须由 runtime unit 归属,不能放在 gateway 重启就被 systemd 删除的 `RuntimeDirectory` 中。大型缓存/下载明确使用配置的数据磁盘,不因“临时”二字默认放进 `/run` 的 tmpfs 而转为大量内存占用。
|
||||
- 修改 `scripts/dev-backend.mjs`、开发脚本、Dockerfile/Compose 的旧 gateway 相关配置;默认裸启动 Go/Python/Vite,不悄悄启动 Docker browser gateway。
|
||||
- 删除 Docker browser wrapper、拉镜像/构建/网络/卷管理及相关测试、配置;PostgreSQL 等仍使用 Docker 的独立部署资产可保留,逐项说明,不做无关清理。
|
||||
|
||||
Reference in New Issue
Block a user