docs: 记录任务 #165 生产部署

This commit is contained in:
chengma
2026-08-11 17:30:11 +08:00
parent 1730c57d5e
commit b97b1089f0
@@ -26,7 +26,8 @@
- `MarkCollecting` 和 `MarkRecollecting` 的原子条件同步支持“无有效任务”恢复,避免页面 - `MarkCollecting` 和 `MarkRecollecting` 的原子条件同步支持“无有效任务”恢复,避免页面
提供恢复按钮但服务端仍按更新时间拒绝。 提供恢复按钮但服务端仍按更新时间拒绝。
- v12 迁移创建来源表、自检字段/索引/外键及级联规则,并把未删除且没有有效任务的 - v12 迁移创建来源表、自检字段/索引/外键及级联规则,并把未删除且没有有效任务的
存量孤儿 `collecting` 安全回收到 `pending`。未执行生产迁移或部署。 存量孤儿 `collecting` 安全回收到 `pending`。生产数据库在服务器部署前已由另一处
Admin 连接提前迁移到 v12;本次发布将服务器旧的 v11 二进制切换为兼容 v12 的版本。
## 改了哪些 ## 改了哪些
@@ -48,7 +49,7 @@
| 删除最后有效采集任务回收状态,有其他任务时不回收 | 通过(自动化用例已编写;真实 MySQL 执行环境未提供) | | 删除最后有效采集任务回收状态,有其他任务时不回收 | 通过(自动化用例已编写;真实 MySQL 执行环境未提供) |
| 无任务、超时或损坏时间显示明确恢复状态并可重建 | 通过(阶段单测通过;数据库链路用例已编写) | | 无任务、超时或损坏时间显示明确恢复状态并可重建 | 通过(阶段单测通过;数据库链路用例已编写) |
| 正常未超时且有有效任务时禁止重复创建 | 通过(自动化用例已编写;真实 MySQL 执行环境未提供) | | 正常未超时且有有效任务时禁止重复创建 | 通过(自动化用例已编写;真实 MySQL 执行环境未提供) |
| MySQL v12 首次建库、v11 升级、重放和错误形状拒绝 | 未执行:缺少独立 MySQL 8.4 `_test` 库权限 | | MySQL v12 首次建库、v11 升级、重放和错误形状拒绝 | 生产 v12 自检与重启通过;独立 `_test` 用例未执行 |
| Client 四接口和 Admin 固定 Go 1.23 回归 | 通过;未修改 Client 接口契约 | | Client 四接口和 Admin 固定 Go 1.23 回归 | 通过;未修改 Client 接口契约 |
## 测试 ## 测试
@@ -56,10 +57,18 @@
- 执行的命令:在 `admin/` 设置 `GOTOOLCHAIN=go1.23.0` 后执行 - 执行的命令:在 `admin/` 设置 `GOTOOLCHAIN=go1.23.0` 后执行
`go test ./... -count=1`、`go build ./...`、`go vet ./...`,并执行 `git diff --check`。 `go test ./... -count=1`、`go build ./...`、`go vet ./...`,并执行 `git diff --check`。
- 结果:全部通过;未引入新依赖,模板可以正常解析,代码提交为 `9e32898`。 - 结果:全部通过;未引入新依赖,模板可以正常解析,代码提交为 `9e32898`。
- **没验证到的部分**:未在真实 MySQL 8.4 `_test` 库执行数据库型测试。已尝试连接 - 生产部署:构建 Linux amd64 二进制,SHA-256 为
`078723d246cf578104bfe79dcd2fd43eaee6123f33fe46487b636fbb39f8fd88`;部署前备份为
`/opt/cmautobuy/backups/autobuy-before-165-20260811T172735.sql.gz`,权限 `600` 且 gzip
校验通过。服务切换到 `/opt/cmautobuy/releases/9e32898/` 后保持 active/enabled,
仅监听 `127.0.0.1:18080`;本机根路径返回 303,公网登录页返回 200,近期启动错误为 0。
生产 schema 为 v12,`task_syb_sources` 存在,未删除商品中“采集中但无有效任务”的
数量为 0。订单 `2608100A0SHGN5` 在部署后收到 Client 采集失败上报,当前为 `failed`
且无有效任务,可从页面重新创建,不再是孤儿 `collecting`。
- **没验证到的部分**:未在独立 MySQL 8.4 `_test` 库执行数据库型测试。已尝试连接
`autobuy_test`,但线上 `buy` 按安全规则只拥有生产 `autobuy` 权限;本机监听实例为 `autobuy_test`,但线上 `buy` 按安全规则只拥有生产 `autobuy` 权限;本机监听实例为
MySQL 5.7,不符合项目要求。没有使用或清理生产 schema。尚未执行生产 v12 迁移、 MySQL 5.7,不符合项目要求。没有在生产 schema 执行清库型测试;尚未使用生产账号
部署和浏览器人工验收。 登录浏览器人工核对超时筛选、订单号搜索和重新创建按钮。
## 相关提交 ## 相关提交