feat(server): 完成 F19~F19d pg-boss 作业系统迁移\n\n- 引入 pg-boss(JOB_DRIVER=pgboss)并保留 cron 回滚\n- OCR/委派回收/超期归档改由 pg-boss schedule + work 执行\n- OCR_PROVIDER=off 自动 unschedule ocr.tick\n- 更新 trialrun env/compose/runbook 与 README,并推进 CSV 状态为 DONE

这个提交包含在:
2026-02-09 20:05:01 +08:00
父节点 f233a0d5bc
当前提交 dff1aabc26
共修改 11 个文件,包含 249 行新增和 12 行删除
+5 -1
查看文件
@@ -52,9 +52,13 @@ TENCENT_OCR_REGION="ap-beijing"
# ===== 委派回收 =====
DELEGATION_REVOKE_CRON="0 * * * *"
# ===== 作业系统(pg-boss,可回滚到 cron)=====
JOB_DRIVER="pgboss" # cron|pgboss
JOBS_ENABLED="true" # false 时整体关闭作业(排障/回滚)
PG_BOSS_SCHEMA="pgboss" # pg-boss 在 PG 内的 schema
# ===== 试运行引导管理员(E20)=====
TRIALRUN_ADMIN_EMAIL="[email protected]"
TRIALRUN_ADMIN_PHONE="13800000000"
# 留空则首次 seed 自动生成并打印一次性口令
TRIALRUN_ADMIN_PASSWORD=""
+7 -1
查看文件
@@ -55,6 +55,10 @@ services:
TENCENT_OCR_REGION: ${TENCENT_OCR_REGION}
DELEGATION_REVOKE_CRON: ${DELEGATION_REVOKE_CRON}
JOB_DRIVER: ${JOB_DRIVER}
JOBS_ENABLED: ${JOBS_ENABLED}
PG_BOSS_SCHEMA: ${PG_BOSS_SCHEMA}
ports:
- "3000:3000"
volumes:
@@ -86,6 +90,9 @@ services:
TENCENT_SECRET_KEY: ${TENCENT_SECRET_KEY}
TENCENT_OCR_REGION: ${TENCENT_OCR_REGION}
DELEGATION_REVOKE_CRON: ${DELEGATION_REVOKE_CRON}
JOB_DRIVER: ${JOB_DRIVER}
JOBS_ENABLED: ${JOBS_ENABLED}
PG_BOSS_SCHEMA: ${PG_BOSS_SCHEMA}
TRIALRUN_ADMIN_EMAIL: ${TRIALRUN_ADMIN_EMAIL}
TRIALRUN_ADMIN_PHONE: ${TRIALRUN_ADMIN_PHONE}
@@ -99,4 +106,3 @@ services:
&& npm run seed:config
&& npm run seed:trialrun"
restart: "no"
+4
查看文件
@@ -18,6 +18,10 @@ cp deploy/trialrun/.env.example deploy/trialrun/.env
- `JWT_SECRET`
- `APP_ORIGIN`(建议与对外域名一致,例如 `https://oa.example.com`)
作业系统建议:
- 试运行默认 `JOB_DRIVER=pgboss`(基于 Postgres 的队列调度,单机/多进程语义更稳)
- 如需快速回滚作业调度:将 `JOB_DRIVER` 改回 `cron`
### 1.2 启动数据库与服务
```bash
cd /path/to/hyb-oa