微信小程序页面迁移校验之前 P5任务处理之前

This commit is contained in:
Neo
2026-03-09 01:19:21 +08:00
parent 263bf96035
commit 6e20987d2f
1112 changed files with 153824 additions and 219694 deletions

View File

@@ -7,7 +7,7 @@
核心流程:
1. 启动后端 + 前端服务
2. 通过 API 登录获取 JWT
3. 提交全流程 ETL 任务api_full, full_window, force-full, 全选常用任务, 自定义窗口 2025-11-01~2026-02-20, 30天切分, 全部门店)
3. 提交全流程 ETL 任务api_full, full_window, force-full, 全选常用任务, 自定义窗口 2025-11-01~当前时间, 30天切分, 全部门店)
4. 实时监控执行过程,捕获错误/警告
4. 执行完成后进行黑盒数据一致性测试(全链路检查器 `scripts/ops/etl_consistency_check.py` + FlowRunner 内置 `ConsistencyChecker`
5. 生成综合报告(含性能数据和黑盒测试结果)
@@ -56,7 +56,7 @@ INTEGRATION_TASK_CONFIG = {
"processing_mode": "full_window", # 全窗口处理
"window_mode": "custom", # 自定义时间范围
"window_start": "2025-11-01 00:00",
"window_end": "2026-02-20 00:00",
"window_end": "", # 补充当前时间
"window_split": "day", # 按天切分
"window_split_days": 30, # 30天一个切片
"force_full": True, # 强制全量

View File

@@ -30,7 +30,7 @@
#### 验收标准
1. WHEN 提交 TaskConfigapi_full + full_window + 全选常用任务 + 自定义窗口 2025-11-01~2026-02-20 + 30天切分 + force-full, THE Backend_API SHALL 验证配置有效并返回 CLI 命令预览
1. WHEN 提交 TaskConfigapi_full + full_window + 全选常用任务 + 自定义窗口 2025-11-01~当前时间 + 30天切分 + force-full, THE Backend_API SHALL 验证配置有效并返回 CLI 命令预览
2. WHEN 提交任务到执行队列, THE Backend_API SHALL 创建队列任务并自动开始执行
3. WHILE ETL 子进程运行中, THE Backend_API SHALL 通过 WebSocket 推送实时日志
4. WHEN ETL 子进程完成, THE Backend_API SHALL 记录退出码、执行时长、完整日志到 task_execution_log

View File

@@ -2,7 +2,7 @@
## 概述
基于 `admin-web-console` 已完成的前后端代码,进行端到端联调验证。全程使用 Playwright 浏览器模拟真实用户操作(登录、配置、提交、监控),不直接调用 API。通过管理后台 UI 提交 api_full 全流程 ETL 任务(自定义窗口 2025-11-01~2026-02-2030天切分force-full全选常用任务实时监控执行过程收集性能数据执行黑盒数据一致性测试全链路检查器 `scripts/ops/etl_consistency_check.py` + FlowRunner 内置 `ConsistencyChecker`),最终生成综合报告。
基于 `admin-web-console` 已完成的前后端代码,进行端到端联调验证。全程使用 Playwright 浏览器模拟真实用户操作(登录、配置、提交、监控),不直接调用 API。通过管理后台 UI 提交 api_full 全流程 ETL 任务(自定义窗口 2025-11-01~当前时间30天切分force-full全选常用任务实时监控执行过程收集性能数据执行黑盒数据一致性测试全链路检查器 `scripts/ops/etl_consistency_check.py` + FlowRunner 内置 `ConsistencyChecker`),最终生成综合报告。
## 任务
@@ -24,11 +24,11 @@
- 确认侧边栏导航菜单正常渲染任务配置、任务管理、ETL 状态、数据库、日志、环境配置、运维面板)
- _Requirements: 1.3, 1.4, 1.5_
- [x] 2. 浏览器操作:任务配置与提交
- [-] 2. 浏览器操作:任务配置与提交
- [x] 2.1 在任务配置页面填写全流程参数
- 在任务配置页面(`/`),选择 Flow 为 `api_full`API → ODS → DWD → DWS → INDEX
- 选择处理模式为 `full_window`(全窗口)
- 设置时间窗口模式为"自定义",填入开始时间 `2025-11-01`、结束时间 `2026-02-20`
- 设置时间窗口模式为"自定义",填入开始时间 `2025-11-01`、结束时间 当前时间
- 设置窗口切分为"按天",切分天数为 `30`
- 勾选 `force_full`(强制全量)
- 在任务选择区域,全选 `is_common=True` 的常用任务(共 41 个)
@@ -41,7 +41,7 @@
- 记录返回的 execution_id从页面响应或跳转中获取
- _Requirements: 2.2, 2.4_
- [ ] 3. 浏览器操作:执行监控与 DEBUG
- [x] 3. 浏览器操作:执行监控与 DEBUG
- [x] 3.1 在任务管理页面监控执行状态
- 导航到"任务管理"页面(`/task-manager`),点击侧边栏"任务管理"菜单
- 在"队列"Tab 中确认刚提交的任务状态为 `running`
@@ -52,15 +52,15 @@
- 任务完成success/failed/cancelled时停止监控
- _Requirements: 3.1, 3.2, 3.3, 3.4, 3.5_
- [ ] 3.2 对执行过程中发现的错误/警告进行 DEBUG 分析
- [x] 3.2 对执行过程中发现的错误/警告进行 DEBUG 分析
- 从日志流中收集所有 ERROR 和 WARNING 日志行及其上下文
- 分析错误类型API 超时、数据库连接、数据质量、配置问题等
- 如果任务失败,切换到"历史"Tab 查看完整执行详情和日志
- 记录 DEBUG 发现到报告中
- _Requirements: 3.2, 3.5_
- [ ] 4. 性能计时与报告生成
- [ ] 4.1 从浏览器获取执行日志,提取精细计时数据
- [x] 4. 性能计时与报告生成
- [x] 4.1 从浏览器获取执行日志,提取精细计时数据
- 在"任务管理"→"历史"Tab 中,点击已完成的任务查看执行详情
- 通过 `GET /api/execution/{id}/logs` 获取完整日志(可通过浏览器或 API 辅助)
- 从日志中提取每个窗口切片30天的开始/结束时间
@@ -69,7 +69,7 @@
- 标注 Top-5 耗时最长的阶段/任务
- _Requirements: 4.1, 4.2, 4.3, 4.4_
- [ ] 4.2 生成综合联调报告,输出到 SYSTEM_LOG_ROOT
- [x] 4.2 生成综合联调报告,输出到 SYSTEM_LOG_ROOT
- 报告包含:执行概要(参数、时间、退出码)
- 报告包含性能报告各切片耗时对比、Top-5 瓶颈)
- 报告包含DEBUG 报告(如有错误/警告)
@@ -78,8 +78,8 @@
- 路径通过 `SYSTEM_LOG_ROOT` 环境变量获取,缺失时报错
- _Requirements: 6.1, 6.2, 6.4, 6.5_
- [ ] 5. 黑盒数据一致性测试
- [ ] 5.1 运行全链路检查器,执行 API→ODS→DWD→DWS 四层数据一致性检查
- [x] 5. 黑盒数据一致性测试
- [x] 5.1 运行全链路检查器,执行 API→ODS→DWD→DWS 四层数据一致性检查
- 运行 `uv run python scripts/ops/etl_consistency_check.py`cwd 为项目根目录 `C:\NeoZQYY`
- 脚本自动从 `LOG_ROOT` 找到最近一次 ETL 日志,解析本次执行的任务列表
- 脚本自动从 `FETCH_ROOT` 读取 API JSON 落盘文件
@@ -92,22 +92,22 @@
- 备选触发方式:可通过 `etl-data-consistency` Hook 手动触发(效果等同)
- _Requirements: 5.1, 5.2, 5.3, 5.4, 5.5_
- [ ] 5.2 检查 FlowRunner 内置一致性报告
- [x] 5.2 检查 FlowRunner 内置一致性报告
- FlowRunner 在 ETL 执行完成后已自动调用 `_run_post_consistency_check()` 生成报告到 `ETL_REPORT_ROOT`
- 确认内置报告已生成,检查 API vs ODS 和 ODS vs DWD 的通过/失败统计
- 内置检查使用 `ODS_META_COLUMNS` 白名单(含 `record_index`)和 `KNOWN_NO_SOURCE` 按表白名单
- 对比两份报告的结论是否一致(全链路检查器 vs FlowRunner 内置检查)
- _Requirements: 5.1, 5.2, 5.3_
- [ ] 5.3 将黑盒测试结果摘要写入综合联调报告
- [x] 5.3 将黑盒测试结果摘要写入综合联调报告
- 在任务 4.2 生成的联调报告中追加"黑盒测试报告"章节
- 包含API vs ODS 通过数/总数、ODS vs DWD 通过数/总数、DWD vs DWS 表概览
- 包含:白名单差异数量统计、失败表清单
- 引用全链路检查报告的完整路径
- _Requirements: 6.3_
- [ ] 6. 服务清理
- [ ] 6.1 关闭浏览器,停止后端和前端服务,清理资源
- [x] 6. 服务清理
- [x] 6.1 关闭浏览器,停止后端和前端服务,清理资源
- 关闭 Playwright 浏览器实例
- 停止 uvicorn 后端进程(`controlPwshProcess` stop
- 停止 pnpm dev 前端进程(`controlPwshProcess` stop