docs: README二进制化章节对齐最终形态(_runners/入口顶层/app副本/compiled_mode开关/生产验证记录)

This commit is contained in:
yumoqing 2026-09-17 18:13:34 +08:00
parent 2e9beeb014
commit abf52e7fd3

View File

@ -114,11 +114,12 @@ bash stop.sh # 停止服务
- **独立部署**:与 Sage 解耦,通过 HTTP API 对外提供服务
### Nuitka 二进制化生产部署形态2026-09-17 立项并验证)
- 构建:`bash scripts/build_binary.sh [输出目录]`(在测试机跑;产出 overlay逐模块 .so 保包目录结构 + 包内数据文件 + BUILD_INFO.json 逐仓哈希 + `_appbin/run_compiled.py` runner
- 构建:`bash scripts/build_binary.sh [输出目录]`(在测试机跑;产出 overlay逐模块 .so 保包目录结构 + 包内数据文件 + BUILD_INFO.json 逐仓哈希 + `_runners/run_compiled.py`、`_runners/run_accounting_compiled.py` 两个 runner
- 编译形态实测定型:逐模块 `--module`(整包单 .so 会断 importlib 动态导入子模块);`__init__.py` 用改名 trick副本名=目录名,编译后 mv 成 `__init__.<tag>.so`源码态语法坏死文件零引用死文件py_compile 预门跳过;`.bak/.old` 排除;增量跳过(产物新于源码不重编)。
- 运行:`py3/bin/python <overlay>/_appbin/run_compiled.py -p <port> -w <app根>`sys.path 顺序 _appbin > overlay 根(遮蔽 site-packages 源码);`app/` 是命名空间包(无 __init__overlay/app/ 放 .so 副本。
- 入口 .so 放 overlay **顶层**(入口模块 `root_dir = dirname(dirname(__file__))` 语义:虚拟 __file__ 上两级须为应用根overlay/app/ 放副本服务 `from app.xxx import` 命名空间包引用。
- 运行:`py3/bin/python <overlay>/_runners/run_compiled.py -p <port> -w <app根>`start.sh 开关 `conf/compiled_mode` 文件存在即编译态、删除即回退源码态web/worker/accounting 三入口共用)。
- 数据文件(.dspy/.ui/.json/.tmpl/wwwroot不进二进制随包目录原样部署.git 仓库仍保留deploy/ 工具、迁移台账、技能树、哈希对账都依赖)。
- 验证记录(测试机 2026-09-17overlay 399 .so / 149M编译态 9199 端口起服务 health 200、登录/菜单/待办/商城全 200与源码态 9090 逐路径对照一致;进程 maps 1341 个 overlay .so 映射
- 验证记录(2026-09-17测试机 overlay 409 .so/156M编译态 worker4 实例 health 200 与源码态逐路径对照一致;生产 5 进程全编译态maps 1314/1341 个 overlay .so启动窗口零错误、poller 18、accounting 出账循环启动、冒烟 14/14、真浏览器登录+产线/待办/商城全 200
## 文件统计