feat(stat): 添加模型请求按天统计功能

- 新增统计控制器、服务层与数据访问层,提供按天统计接口
- 在 worker 处理任务时原子累加请求计数(仅实际调用模型时计数)
- 更新数据库表结构,添加 asynch_model_stat 表及索引
- 更新文档说明统计功能的使用方式与统计口径
This commit is contained in:
2026-04-27 10:42:42 +08:00
parent f6c70a451e
commit 4e6b98b7d3
11 changed files with 206 additions and 2 deletions

View File

@@ -32,6 +32,11 @@
- 失败重试耗尽仍失败 → 硬删除任务(并尝试删除 OSS
- `state=0/1` 超时 → 标记失败(防止卡死)
### 1.3 统计asynch_model_stat
- 按天统计:`day + tenant_id + creator + model_name -> request_count`
- 统计口径:仅在 Worker 真正调用模型服务时计数OSS 重试不计数)
- 用途:给其他服务提供全局限流/监控依据(分布式场景下通过数据库 UPSERT 原子累加保证一致性)
---
## 2. 使用流程(业务方如何接入)
@@ -59,6 +64,10 @@
> `state=4` 的数据允许重复获取,避免业务侧偶发中断导致“领取不到结果”。
### 2.4 获取统计(用于业务侧限流/监控)
业务方可调用统计接口按时间段获取请求次数(默认分页 10 条):
- `/stat/listModelStat`:支持 `startDay/endDay/tenantId/creator/modelName` 条件筛选
---
## 3. 状态机说明asynch_task.state
@@ -115,4 +124,3 @@
1) 从 `main` 拉出 `dev`
2) 功能完成后提 MR/PR 合并回 `main`
3) 打 tag / 发布镜像