59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
|
|
# 🚀 AI 恢复模块快速启动(针对 wwjcloud-nest-v1/apps/api)
|
|||
|
|
|
|||
|
|
## 目标
|
|||
|
|
- 在开发环境以最简配置验证 AI 恢复队列的闭环(事件→入队→处理→收敛)
|
|||
|
|
|
|||
|
|
## 预备条件
|
|||
|
|
- Node.js 18+
|
|||
|
|
- `wwjcloud-nest-v1` 中的 `apps/api` 可运行
|
|||
|
|
|
|||
|
|
## 环境变量(开发最简闭环)
|
|||
|
|
```bash
|
|||
|
|
NODE_ENV=development
|
|||
|
|
PORT=3001
|
|||
|
|
AI_ENABLED=true
|
|||
|
|
GLOBAL_PREFIX=api
|
|||
|
|
QUEUE_DRIVER=memory # 免 Redis/Kafka 干扰
|
|||
|
|
TELEMETRY_ENABLED=false
|
|||
|
|
REDIS_ENABLED=false
|
|||
|
|
KAFKA_ENABLED=false
|
|||
|
|
JWT_SECRET=dev-secret # 若开启守卫需配置
|
|||
|
|
AUTH_ENABLED=true
|
|||
|
|
RBAC_ENABLED=false
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 启动示例
|
|||
|
|
> 推荐在 `wwjcloud-nest-v1` 目录下执行:
|
|||
|
|
```bash
|
|||
|
|
# 以 apps/api 方式启动(端口 3001)
|
|||
|
|
NODE_ENV=development JWT_SECRET=dev-secret AI_ENABLED=true AUTH_ENABLED=true RBAC_ENABLED=false GLOBAL_PREFIX=api QUEUE_ENABLED=false PORT=3001 npm run start -- api
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 本地验证命令
|
|||
|
|
```bash
|
|||
|
|
# 1) 初始队列大小(应为 0)
|
|||
|
|
curl -s http://localhost:3001/api/ai/recovery/status
|
|||
|
|
|
|||
|
|
# 2) 模拟失败(入队增长)
|
|||
|
|
curl -s "http://localhost:3001/api/ai/recovery/simulate-failure?taskId=T1&severity=high&reason=quick-start"
|
|||
|
|
|
|||
|
|
# 3) 再次查看队列(应增长)
|
|||
|
|
curl -s http://localhost:3001/api/ai/recovery/status
|
|||
|
|
|
|||
|
|
# 4) 处理一个(队列收敛)
|
|||
|
|
curl -s -X POST http://localhost:3001/api/ai/recovery/process-one
|
|||
|
|
|
|||
|
|
# 5) 清空队列(可选)
|
|||
|
|
curl -s -X POST http://localhost:3001/api/ai/recovery/drain
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
- Kafka 报错但驱动为 `memory`:可忽略,不影响路由与内存队列
|
|||
|
|
- 路由前缀:`GLOBAL_PREFIX=api` 下基础设施路由保留原始状态码(已在异常过滤器处理)
|
|||
|
|
- 根应用与 apps/api:两端可挂载 AI 模块;开发推荐统一在 `apps/api`(3001)验证
|
|||
|
|
|
|||
|
|
## 参考文档
|
|||
|
|
- `docs/AI-RECOVERY-DEV.md`
|
|||
|
|
- `docs/CONFIG_SETUP.md`
|
|||
|
|
- `docs/DEVELOPMENT-GUIDE.md`
|
|||
|
|
- `docs/PRODUCTION-DEPLOYMENT.md`
|