feat: Worker 进程拆分(F20)
- 新增 worker 进程入口(npm run worker)只跑作业不监听端口 - trialrun compose 增加 worker profile(server 可 JOBS_ENABLED=false) - 更新 runbook/.env.example/README 说明与 v3 CSV 状态推进
这个提交包含在:
+21
@@ -92,6 +92,27 @@ npm run seed:trialrun
|
||||
- 回滚策略:
|
||||
- 将 `JOB_DRIVER` 切回 `cron`(无需 schema 迁移回滚,风险低)
|
||||
|
||||
### 2.3.4 Worker 进程拆分(可选,F20)
|
||||
> 目的:单机也能用“API 进程 + Worker 进程”模式运行,便于未来横向扩展;不改变对外 API。
|
||||
|
||||
- API 进程:只提供 HTTP(可选托管 `client/dist`),**不跑作业**
|
||||
- Worker 进程:只跑作业(OCR/委派回收/超期归档),**不监听端口**
|
||||
|
||||
本地双进程示例:
|
||||
```bash
|
||||
# 终端 A:API(不跑作业)
|
||||
cd /home/shunli/Projects/hyb-oa/server
|
||||
JOBS_ENABLED=false npm run dev
|
||||
|
||||
# 终端 B:Worker(只跑作业)
|
||||
cd /home/shunli/Projects/hyb-oa/server
|
||||
JOBS_ENABLED=true npm run worker
|
||||
```
|
||||
|
||||
试运行 compose(推荐,见 `deploy/trialrun/runbook.md`):
|
||||
- 启用 worker profile:`--profile worker`
|
||||
- 同时将 server 的 `JOBS_ENABLED=false`(worker 进程内强制为 true)
|
||||
|
||||
### 2.4 启动服务
|
||||
```bash
|
||||
cd /home/shunli/Projects/hyb-oa/server
|
||||
|
||||
在新工单中引用
屏蔽一个用户