docs(guide): 补定时任务(@Cron)说明
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
28ecacdd42
commit
207ccd1547
@ -194,6 +194,18 @@ list(@Query() q: PageQuery) { return this.service.paginate(q.page, q.pageSize) }
|
|||||||
- **账号锁定**:`user.locked_at` / `lock_reason` 独立于 `status`(停用);管理员锁定即踢全部会话,解锁同时清登录失败计数。
|
- **账号锁定**:`user.locked_at` / `lock_reason` 独立于 `status`(停用);管理员锁定即踢全部会话,解锁同时清登录失败计数。
|
||||||
- **在线会话**:会话 = `refresh_token`,`sid` 标识单次登录(刷新轮换沿用同一 `sid`);`GET /sessions` 列活跃会话,`POST /sessions/:sid/kick` 单会话强退(吊销 refresh + sid 黑名单),`POST /users/:id/kick-sessions` 踢全部(复用 `tokenVersion`)。
|
- **在线会话**:会话 = `refresh_token`,`sid` 标识单次登录(刷新轮换沿用同一 `sid`);`GET /sessions` 列活跃会话,`POST /sessions/:sid/kick` 单会话强退(吊销 refresh + sid 黑名单),`POST /users/:id/kick-sessions` 踢全部(复用 `tokenVersion`)。
|
||||||
|
|
||||||
|
### 2.9 定时任务
|
||||||
|
|
||||||
|
用 `@nestjs/schedule` 的 `@Cron` 声明定时任务;`ScheduleModule.forRoot()` 已在 `app.module.ts` 注册。现有任务:[`src/common/cleanup.service.ts`](../sources/sysmgr-nest/src/common/cleanup.service.ts) 每天 03:07 清理过期/吊销的 refresh token 与超过 90 天的审计/登录日志。
|
||||||
|
|
||||||
|
**新增定时任务**:
|
||||||
|
|
||||||
|
1. 新建 service,方法挂 `@Cron('秒 分 时 日 月 周')`(cron 表达式,如 `@Cron('0 3 * * *')` 每天 03:00);
|
||||||
|
2. 在 `app.module.ts` 的 `providers` 注册该 service;
|
||||||
|
3. 任务体内 `try/catch` 并记录日志(失败不抛出,避免 Cron 中断)。
|
||||||
|
|
||||||
|
> 本期定时任务仅清理一个,暂不做「任务注册表 + 界面手动触发」;有需要再扩展。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. 前端开发指南(sysmgr-admin)
|
## 3. 前端开发指南(sysmgr-admin)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user