Files
leaudit-platform-backend/docs/内部公文模块/内部公文模块运行与验收手册.md

5.8 KiB

内部公文模块运行与验收手册

1. 文档目的

本文档只解决 4 个现实问题:

  • 当前 govdoc 正确的运行链路是什么
  • 现在页面为什么还可能报 404 / 500 / 502 / 401
  • 应该按什么顺序排障
  • 如何判断“内部公文模块已经真正接到当前 1 后端”

本文档基于 2026-05-17 当前机器与当前仓库实际联调结果整理。


2. 正确链路

当前内部公文模块正确链路应为:

  1. 浏览器访问 http://172.16.0.59:5173/govdoc/audits?entryModuleId=3
  2. 5173nginx 提供入口
  3. nginx 上游转到当前前端开发服务 127.0.0.1:5193
  4. 前端 /api/govdoc/* 代理到 http://172.16.0.59:8096/api/govdoc/*
  5. 8096 由当前仓库 leaudit-platform 后端提供
  6. 审查任务由当前仓库 Celery worker 消费

只要这 6 段里任意一段错了,外部表现就会异常。


3. 当前已确认事实

本次联调已确认以下事实成立:

  • 当前仓库后端标准端口是 8096
  • 当前仓库前端开发服务端口是 5193
  • 当前对外入口端口是 5173
  • 当前 govdoc 接口代理文件是:
  • 当前前端环境配置里:
    • API_BACKEND_TARGET=http://172.16.0.59:8096
  • 当前 GET /api/govdoc/documents?page=1&pageSize=1 已经能到达当前后端
  • 未登录访问该接口时,返回 401 Unauthorized
  • 未登录访问 /govdoc/audits 时,会重定向到 /login

这说明:

  • govdoc 文档列表接口已经接到当前 1 后端
  • 当前若再看到异常,优先怀疑运行进程或登录态,而不是先怀疑接口没接

4. 当前机器上的关键风险

当前机器上还存在一个高风险旧进程:

  • python start_worker_with_routing.py --config-port 8096
  • cwd=/home/wren-dev/Porject/docauditai

它不是当前仓库 worker。

这意味着:

  • 即使当前仓库代码已经修好
  • 只要正式任务仍被旧 worker 消费
  • govdoc 实际执行结果仍可能继续偏向旧项目行为

结论:

  • 当前最大运行风险不是代码本身,而是旧 worker 未彻底退出正式链路

5. 正确启动方式

当前仓库建议使用:

cd /home/wren-dev/Porject/leaudit-platform
./leaudit.sh start

查看状态:

./leaudit.sh status

查看巡检结果:

./leaudit.sh doctor

查看日志:

./leaudit.sh logs backend
./leaudit.sh logs frontend
./leaudit.sh logs worker
./leaudit.sh logs beat

当前脚本关键文件:


6. 四类典型报错怎么判断

6.1 404

通常说明:

  • govdoc 代理没走到当前后端
  • 当前后端没启动
  • 请求被打到了错误服务

优先检查:

  • 8096 是否监听
  • /api/govdoc/* 是否仍代理到当前 8096
  • 是否还在访问旧项目接口

6.2 500

通常说明:

  • 路由已经接到了正确后端
  • 但数据库、表、规则文件、运行数据或服务层逻辑有问题

这类问题要优先看:

  • .codex-run/backend.log
  • 后端 traceback
  • govdoc_runs / govdoc_report_artifacts 相关表和数据

6.3 502

通常说明:

  • 5173 的 nginx 上游失活
  • 5193 前端服务未启动
  • 8096 后端未启动

这类问题不是业务 bug,先查进程和端口。

6.4 401

通常说明:

  • 链路已经通到当前后端
  • 只是当前请求没有有效登录态

这类情况恰恰说明:

  • govdoc 接口已经不是 404
  • 前后端契约已经在工作

7. 当前最小排障顺序

每次出现问题,建议严格按这个顺序查:

  1. 先看 ./leaudit.sh status
  2. 再看 ss -ltnp 是否存在 5173 / 5193 / 8096
  3. 再看旧 worker 是否还在:
    • ps -ef | rg "start_worker_with_routing.py --config-port 8096"
  4. 再看前端 govdoc 代理是否还是指向 8096
  5. 再看后端日志是 401 / 404 / 500 哪一类
  6. 最后才去怀疑业务代码

不要反过来先改代码。


8. 当前验收标准

如果要判断“内部公文模块已经真正接到当前后端并基本可用”,至少要满足:

8.1 运行层

  • 5173 正常访问
  • 5193 正常运行
  • 8096 正常运行
  • 当前仓库 worker 正常运行
  • 当前仓库 beat 正常运行

8.2 接口层

  • 未登录访问 /govdoc/audits 时,正常跳到登录页
  • 已登录访问 /api/govdoc/documents 时,返回真实列表数据
  • 不再出现 404 Not Found

8.3 业务层

  • 文档列表可打开
  • 详情页可打开
  • 新 run 完成后有正式报告产物
  • 可打开 HTML 报告
  • 可下载批注 DOCX
  • 段落视图可渲染

8.4 数据层

  • govdoc_runs 有最新 run
  • govdoc_report_artifacts 有正式产物索引
  • 历史修复前 run 如需报告,已补跑

9. 当前还没完全收口的点

截至当前,还没彻底收口的不是主链是否存在,而是这些细节:

  • docauditai worker 仍在机器上存活
  • 正式 supervisor / 守护方式还没有完全切回当前仓库
  • 历史成功 run 不会自动补出报告产物,需要补跑
  • 还需要带真实登录态做一轮完整前端验收

10. 当前结论

当前内部公文模块的真实状态应表述为:

  • 业务语义主线已基本对齐
  • 后端主链路已接通
  • 报告产物主闭环已补齐
  • 前端 govdoc 列表接口已接到当前 1 后端
  • 当前最大的剩余问题是运行部署收口,而不是“文档列表没接后端”

后续如果继续推进,优先级应为:

  1. 清理旧 worker 干扰
  2. 固化正式启动/重启方式
  3. 带真实登录态做完整联调验收
  4. 再处理余下产品细节