Files
orbit/docs/reports/phase-7-console-e2e.md

2.9 KiB
Raw Permalink Blame History

P7:Orbit Console 与真实业务链路回归

日期:2026-09-21。本批不是用页面假数据演示,而是在一次性 MySQL、真实 Orbit 进程和真实 Go SDK/Worker 上完成平台闭环,再核对控制台读取接口和静态资源。数据库继续禁止外键,测试结束后临时容器、凭据和构建目录均由标准脚本清理。

验收范围

标准命令:

./scripts/test-mysql.sh

本次回归实际覆盖:

  • 迁移、Schema 核验、无外键升级、健康检查和版本读取。
  • HTTP 任务受理、幂等重报、查询、取消、延迟、批量和队列背压。
  • Worker WSS 连接、领取、开始、续租、结果确认、重连、租约过期和进程强杀接管。
  • 结果订阅创建、配置、事件过滤、WSS 交付、ACK、丢 ACK 恢复、租约过期、人工追加预算和重复确认。
  • Weave 定义发布、固定版本启动、顺序/并行、定时等待、信号、流程事件审计、暂停/继续、取消、人工核查和进程全停恢复。
  • 独立 Inbox、Outbox 业务示例,以及 SDK 在真实 HTTP/WSS 服务下的调用。
  • Orbit Console /console/、app.js、styles.css 和五个 hash 视图的 HTTP 资源检查;详情页使用的流程、步骤、事件、订阅和交付 API 均由同一批真实数据回归覆盖。

结果

标准脚本退出码为 0。存储、协议、SDK、Worker 进程恢复、结果订阅进程恢复、流程全停恢复和两个独立业务模块均通过;日志中未出现失败测试。关键结果包括:

schema_version=28 migration_count=28 foreign_key_count=0 complete=true
workflow state=SUCCEEDED result={"text":"HELLO ORBIT"}
workflow_timeline_verified=true signal_transition=PENDING->CONSUMED
worker_drained=true
management SDK exercised create/get/list/control/detail/expired retry
business commit verified before ACK; one business effect and two delivery attempts
paused task/signal/timer collected by fresh nodes; public SDK resume preserved version and deadlines

控制台资源和页面入口已在本机 Docker 服务确认:

/console/#/overview       200
/console/#/tasks          200
/console/#/schedules      200
/console/#/workflows      200
/console/#/subscriptions  200
/health/live              {"status":"alive"}
/health/ready             {"scope":"database_and_schema","status":"ready"}

边界

这次回归证明真实服务链路、权限边界、事务恢复和控制台读取接口可以一起工作,不等于目标生产拓扑已经完成容量、自动故障切换、RPO/RTO、正式密钥托管、告警和值守验收。控制台仍使用调用方 Bearer Token,页面不直接连接 MySQL,也不把 WSS 租约秘密展示给管理页面。

下一批工作进入生产门槛:目标拓扑容量、慢消费者和重连风暴、MySQL 自动切换、备份恢复、滚动升级、正式凭据和跨版本兼容矩阵。