docs(deploy): 数据分析板块首部署回填注记
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -194,6 +194,38 @@ docker compose -f docker-compose.server.yml exec scheduler \
|
||||
(类型变更类迁移在 MySQL 上锁大表写入,避开抓取窗口:北京 02:00 全量、
|
||||
每 4h 增量;增量耗时约 15-30 分钟)。
|
||||
|
||||
### 数据分析板块首部署附加步骤(一次性,2026-09-04)
|
||||
|
||||
alembic 链自当前线上版本起新增 3 支迁移:`a7d3e9f1c2b4` msg_daily_stats
|
||||
日汇总表、`f0a1b2c3d4e5` 分析板块四新表 + `message.fetched_at` 索引、
|
||||
`c3d4e5f6a7b8` 五表 `updated_at` 窄索引。
|
||||
|
||||
- **迁移随 `up -d --build` 自动跑**,平时无需手动。⚠️ 其中
|
||||
`ix_message_fetched_at` 要在 86 万行 message 表上建索引,约十几秒
|
||||
(InnoDB online DDL,量级同 c53f90b1e6a4)——**避开北京 02:00 全量抓取
|
||||
窗口**执行升级:先停 scheduler 容器再 up,或白天低峰手动跑
|
||||
`sudo docker compose -f docker-compose.server.yml exec backend alembic upgrade head`。
|
||||
- 部署完成后在**夜间低峰**跑两条一次性回填,此后每 4h 的 analytics tick
|
||||
自动增量维护,不用再手动:
|
||||
```bash
|
||||
sudo docker compose -f docker-compose.server.yml exec backend python -m app.sync.cli staff-daily-stats
|
||||
sudo docker compose -f docker-compose.server.yml exec backend python -m app.sync.cli sensitive-scan --full
|
||||
```
|
||||
前者全量重建 stat_daily_staff(分钟级);后者逐词扫全库并建扫描水位
|
||||
(高频词分钟级)。**首跑必须带 `--full`**:不建水位,增量扫描会拒绝扫库。
|
||||
- **顺序**:sensitive-scan --full 宜赶在调度器首次 4h analytics tick 之前;
|
||||
tick 首次在进程启动 4h 后才触发,部署当天跑回填通常天然满足。万一 tick
|
||||
先到,也只是每 4h 记一条 ERROR 日志(analytics tick failed,无扫描水位),
|
||||
属预期提示非故障,补跑 --full 后即消失。
|
||||
- 升级收尾 `sudo docker compose -f docker-compose.server.yml restart frontend`
|
||||
(让 nginx 重新解析 backend 容器 IP,防漂移后 502,同既有升级流程)。
|
||||
- 浏览器验收:登录后依次打开 `/analytics/dashboard`、`/analytics/churn`、
|
||||
`/analytics/unreplied`、`/analytics/sensitive` 四页;各页角标「数据截至」
|
||||
在上述回填完成后才会显示。
|
||||
- 起步词库 6 词(私单/飞单/加私人微信/红包/转账/离职)由 sensitive-scan
|
||||
幂等自动补种,无需手插;后续加新词默认只扫增量,要扫历史消息需重跑
|
||||
`--full`。
|
||||
|
||||
## 8. 本地收尾(部署验证通过后)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user