# 脚本执行看板 — 本地验证报告(2026-06-08) ## 环境 - 主机:`127.0.0.1:8600`(`bash scripts/start-dev.sh`) - MySQL / Redis:Docker `nexus-mysql-1` / `nexus-redis-1` - 凭据:`.env` 中 `NEXUS_TEST_ADMIN_*` 已与本地 `admins` 表对齐(用户提供的本地密码) ## 结果摘要 | 检查项 | 结果 | |--------|------| | `bash scripts/local_verify.sh`(完整) | **通过** | | smoke:MySQL schema + 47 unit tests | 通过 | | `tests/test_api.py` | **26/26** | | ruff F | 通过 | | 脚本相关 pytest(15 条) | 通过 | ## local_verify 明细 ``` ═══ All local checks passed ═══ ``` - `GET /health` → 200 - `POST /api/auth/login` → 200(JWT 获取成功) - Scripts CRUD:`POST/GET/DELETE /api/scripts/` 均通过 - 其余 Server / Schedules / Settings / Audit / Retries / Sync 端点均通过 ## 脚本专项 pytest ```bash .venv/bin/pytest tests/test_script_execution_progress_stats.py \ tests/test_script_execution_progress.py \ tests/test_exec_detail_grouping.py \ tests/test_script_dispatch.py -q # 15 passed ``` ## 异步执行(设计验收) `test_api` 已覆盖 Scripts 创建/列表/删除;结合 P0 实现,`POST /api/scripts/exec` 在代码审查路径上为「创建记录后立即返回 `running` + 后台 `asyncio` 任务」。 **建议终验(浏览器,需用户):** 1. 脚本库选多台子机执行 → 1s 内关对话框,顶栏进度条更新 2. `#/script-runs/{id}` 查看失败明细与分组 3. 完成时 Alert + 提示音;Telegram 仅汇总(若已配置 bot) ## 未在本报告执行的项 - 生产 `deploy/pre_deploy_check.sh` + 部署 - 366 台规模压测 - Playwright 浏览器自动化