feat: improve schedule cleanup and handover
This commit is contained in:
+73
-1
@@ -6,6 +6,78 @@
|
||||
|
||||
---
|
||||
|
||||
## 0. 当前交接状态(2026-08-20)
|
||||
|
||||
### 0.1 代码与服务
|
||||
|
||||
- 基线代码:`ae3b6d6`(`develop`)。本次改动尚未提交,修改范围见下方「0.4」。
|
||||
- Docker Compose 项目名:`model-platform-develop14`。
|
||||
- 主入口:<http://127.0.0.1:9120>;浏览器通过 web/Nginx 访问后端 API。
|
||||
- 当前启用的 `.env` 已配置 MySQL 连接和存储后端。**不要把 `.env` 中的连接串、密码或
|
||||
Token 提交到 Git。**
|
||||
|
||||
检查服务:
|
||||
|
||||
```powershell
|
||||
docker compose -p model-platform-develop14 ps
|
||||
Invoke-WebRequest http://127.0.0.1:9120/api/v1/health
|
||||
```
|
||||
|
||||
完整重建并启动:
|
||||
|
||||
```powershell
|
||||
docker compose -p model-platform-develop14 up -d --build
|
||||
```
|
||||
|
||||
仅后端 Python 代码变动时,使用下面命令即可;它不会删除数据库或 `data/`:
|
||||
|
||||
```powershell
|
||||
docker compose -p model-platform-develop14 build backend
|
||||
docker compose -p model-platform-develop14 up -d --force-recreate --no-deps backend
|
||||
```
|
||||
|
||||
### 0.2 调度模块本次行为
|
||||
|
||||
调度页面位于 `frontend/app/features/schedules/`,对应 API 位于
|
||||
`backend/src/backend/schedules.py`。
|
||||
|
||||
- 删除调度方案:删除该方案的节点、连线、运行记录,以及可删除的运行日志/结果产物;若方案
|
||||
仍有运行中的任务,后端返回 409,避免删到一半。
|
||||
- 删除节点:运行中的节点不可删除;有历史运行记录时,前端会提示“该节点有运行日志,是否一并删除?”。
|
||||
用户确认后会删除节点、关联连线、该节点的 `schedule_node_runs` 记录和可删除日志/结果。
|
||||
- `StorageObjects.is_immutable=1` 的审计原件受存储层保护,不能物理删除;删除节点时会删除其
|
||||
运行记录引用,使其不再在调度页面展示,但保留原件,避免再次出现
|
||||
`immutable object cannot be deleted` 并导致节点删除回滚。
|
||||
- 运行记录列表已加入轮询:有运行中任务时约 1.5 秒刷新一次,空闲时约 5 秒刷新一次;右侧刷新
|
||||
按钮仍可手动刷新。
|
||||
|
||||
### 0.3 关键排查位置
|
||||
|
||||
| 现象 | 首先查看 |
|
||||
|---|---|
|
||||
| 页面请求报错 | 浏览器 F12 → Network → Fetch/XHR,查看请求 URL、状态码和响应内容 |
|
||||
| API / 数据库异常 | `docker compose -p model-platform-develop14 logs --tail=200 backend` |
|
||||
| Cron 未触发 | `docker compose -p model-platform-develop14 logs --tail=200 schedule` |
|
||||
| 脚本执行失败 | 调度页面“运行记录”→“查看结果”→ 节点日志 |
|
||||
| 容器状态或端口问题 | `docker compose -p model-platform-develop14 ps` |
|
||||
|
||||
### 0.4 未提交改动清单
|
||||
|
||||
当前工作区包含以下代码改动,提交前应按需执行 typecheck / 后端测试:
|
||||
|
||||
| 文件 | 作用 |
|
||||
|---|---|
|
||||
| `backend/src/backend/schedule_schemas.py` | 节点删除请求支持历史记录确认参数 |
|
||||
| `backend/src/backend/schedules.py` | 调度/节点删除、运行中保护、日志清理与不可变产物兼容 |
|
||||
| `frontend/app/services/api.ts` | 节点删除 API 参数 |
|
||||
| `frontend/app/context/AuthContext.tsx` | API 参数透传 |
|
||||
| `frontend/app/features/schedules/state/schedulesStore.ts` | 删除确认及删除后刷新状态 |
|
||||
| `frontend/app/features/schedules/SchedulePage.tsx` | 运行记录轮询 |
|
||||
|
||||
`data/` 是本地运行数据,不应作为本次代码改动一起提交。
|
||||
|
||||
---
|
||||
|
||||
## 1. 最近 8 个 commit(按时间倒序)
|
||||
|
||||
### `85b2916` — fix: local_storage_base_dir(bucket 标识符语义统一:最终 fix)
|
||||
@@ -423,4 +495,4 @@ M frontend/vite.config.ts (4+/2-)
|
||||
```
|
||||
|
||||
`frontend/vite.config.ts` 的改动不在本次 trash / bucket 修复范围内,等下次 commit 一起提。
|
||||
`data/` 是 `STORAGE_BACKEND=local` 的对象存储本地根,git ignore 不应跟踪。
|
||||
`data/` 是 `STORAGE_BACKEND=local` 的对象存储本地根,git ignore 不应跟踪。
|
||||
|
||||
Reference in New Issue
Block a user