记录155部署验收与时间口径
This commit is contained in:
parent
55e2ed6aa3
commit
afec4f7ecd
|
|
@ -101,7 +101,7 @@ Redis 有几路:决策系统的盘中信号流与风控卖出流、实时行
|
|||
|
||||
不能按「哪个系统」一刀切,要按「哪种时间」分。容器时钟与容器日志正文是北京时间,不要加八小时。数据库里的时间戳列(如各种 `created_at`、`updated_at`)是 UTC,读的时候要加八小时。日期列(如 `trade_date`、`audit_date`)是北京日期,不换算。写记录时一律用北京时间,引用数据库时间列先加八小时并标注已换算。完整依据见 `DEVLOG.md` 开头。
|
||||
|
||||
**待核实的例外。** 上段是历史约定。PMS 自有表的部分列实际是 `DATETIME`,`pms_repo.py` 与 `qmt_repo.py` 用容器内 `datetime.now()` 写值。10-08 的两个探针因此提出先用心跳和快照校准时区。用户已确认探针尚未执行,这个差异尚无新的真机结论。读这些列前要核对写入路径和实际时区,并明确标注原值与换算依据,不把两种口径混在同一份读数里。
|
||||
**待核实的例外。** 上段是历史约定。PMS 自有表的部分列实际是 `DATETIME`,`pms_repo.py` 与 `qmt_repo.py` 用容器内 `datetime.now()` 写值。10-08 的两个探针因此提出先用心跳和快照校准时区。用户已确认探针尚未执行,2026-10-12 部署核对已确认 155 宿主机为 UTC,容器为北京时间,`pms_ws_state.heartbeat_at` 的 DATETIME 原值与容器北京时间同步,该字段不加八小时。其他列仍要核对写入路径和实际时区,并明确标注原值与换算依据,不把两种口径混在同一份读数里。
|
||||
|
||||
## 前端的两个坑
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ Redis 有几路:决策系统的盘中信号流与风控卖出流、实时行
|
|||
|
||||
- `README.md`:总览,最全。上面各节多是从它摘的。
|
||||
- `DEVLOG.md`:开发节点流水账,每条含「做了什么、动了哪些文件、部署方式、真机判收、还欠什么」五样。查某个改动的来龙去脉看这里。
|
||||
- `docs/开发接续_2026-10-12.md`:Claude 到 Codex 的仓库迁移记录、未合入分支和当前待办入口。
|
||||
- `docs/开发接续_2026-10-12.md`:Claude 到 Codex 的仓库迁移记录、修复整合、155 部署判收和当前待办入口。
|
||||
- `POSITION_MGMT_DESIGN.md`:总体设计定稿。
|
||||
- `QMT_WS_PROTOCOL.md`:PMS 与 QMT 的 WebSocket 协议,下发通道的唯一实现依据。
|
||||
- `BIONIC_PMS_INTERFACE.md`:PMS 与决策系统的接口契约(研判闸与盘中择时两个接口)。
|
||||
|
|
|
|||
21
DEVLOG.md
21
DEVLOG.md
|
|
@ -1777,6 +1777,27 @@ docs/交接_2026-09-20.md(新)、docs/dev_preview/mock_preview.py 与 sample
|
|||
|
||||
---
|
||||
|
||||
## 2026-10-12(续二)· 155 模拟仓部署完成,983 例回归通过
|
||||
|
||||
**做了什么**
|
||||
用户明确批准 155 条件部署与推送目的地。修复提交 `55e2ed6` 已推送 `main` 和 `codex/test-isolation-integrate`。服务器先做运行参数、通道和在途委托只读核对,再用无网络、无生产配置的临时容器验证完整 41 批、983 例。前置条件通过后完成部署。
|
||||
|
||||
**动了哪些文件**
|
||||
运行代码同 `55e2ed6`。本节点仅补 `DEVLOG.md`、`docs/开发接续_2026-10-12.md` 和 `AGENTS.md` 的部署记录。用户原有台账、讨论稿与两项探针保持不变,未纳入本次提交。
|
||||
|
||||
**部署方式**
|
||||
155 的 `/home/factor/project/tradingSystem` 快进主分支,执行 `make build`、`make up`。没有建表,没有改运行参数。保留服务器本地脚本可执行位及所有未跟踪文件。回退引用 `codex/predeploy-20261012` 指向 `fbe0014`,旧镜像保留为 `pms:rollback-20261012-fbe0014`。155 挂载源码,若需回退必须同时还原源码和镜像,再重建服务。188 未操作。
|
||||
|
||||
**真机判收**
|
||||
真机见过。四服务于北京时间 12:16:07 重建,均运行、重启计数零,镜像统一为 `63e786de910a`。无挂载容器读到的镜像指纹与提交快照、服务器工作树均为 `18d7286b926a`。网页健康 `ok`、数据库连通、QMT `ONLINE`、回报水位推进、无在途子委托和待入账回报。启动后日志无 ERROR、CRITICAL 或 Traceback,调度正常。部署后 `make test` 再次输出 `ALL SUITES PASS`,41 批、983 例通过。开发机日志为 `/tmp/pms-deploy-55e2ed6.log` 和 `/tmp/pms-postdeploy-tests.log`。
|
||||
|
||||
只读参数确认 `ws`、QMT 开启、自主与自决均为 `full`,全局暂停开关均关,排序开关仍关、档位仍为“强传导”。宿主机用 UTC,容器用北京时间;通道心跳 DATETIME 与容器北京时间同步,该字段不能机械加八小时。
|
||||
|
||||
**还欠着什么**
|
||||
部署时没有 GATED 方案,命令结算与一字板修复的真实行情触发仍未判收。历史假读数未清理,两个探针未运行,因子库复权基准与盘中才封板边界仍按原安排接续。188 真实仓不在本次范围。
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
下一条节点从这里往下写,格式照抄上面:
|
||||
## YYYY-MM-DD · 一句话标题
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# PMS 开发接续与 Codex 迁移记录
|
||||
|
||||
日期为 2026-10-12,北京时间。开发入口已迁到根目录 `AGENTS.md`。本次整理完成了仓库规则与工作上下文的接续,下文保留接手时快照,最新进展见第七节。
|
||||
日期为 2026-10-12,北京时间。开发入口已迁到根目录 `AGENTS.md`。本次整理完成了仓库规则与工作上下文的接续,下文第一至六节保留接手时快照,修复整合见第七节,部署结果见第八节。
|
||||
|
||||
用户在本次会话确认两件事。第一,原定 10-09 的服务器只读核对与离线探针均未执行。第二,先以当前仓库为准,不另找旧 Claude 会话资料。
|
||||
|
||||
|
|
@ -120,4 +120,37 @@ git diff --check
|
|||
|
||||
155 已做主机与容器元数据只读核对。仓库在 `/home/factor/project/tradingSystem`,主分支仍为 `fbe0014`,四个 PMS 服务运行,网页健康检查通过。四个容器均有源码挂载,启动时间为 2026-09-18 11:51:59 北京时间,由 Docker 的 UTC 值换算。服务器有本地文件和 `scripts/deploy.sh` 的修改,部署时保留。188 未操作。
|
||||
|
||||
部署候选不含原有台账、讨论稿及两个探针。上线前需确认实例的运行参数与在途队列,在 155 断网临时容器通过后再重建镜像、重建四个 PMS 容器。本次没有 DDL 和依赖变更,无需重新建表。部署和真实交易行为尚未判收。
|
||||
部署候选不含原有台账、讨论稿及两个探针。上线前需确认实例的运行参数与在途队列,在 155 断网临时容器通过后再重建镜像、重建四个 PMS 容器。本次没有 DDL 和依赖变更,无需重新建表。部署结果见下一节。两项修复在真实行情中的触发行为仍未判收。
|
||||
|
||||
## 八、155 模拟仓已完成部署
|
||||
|
||||
2026-10-12 北京时间 12:16:07,155 的四个 PMS 服务完成重建。用户已明确批准 155 条件部署,并确认允许推送到当前 `origin`。主分支和整合分支均已推送修复提交 `55e2ed6aa32012d4c09649836120c0622c19624f`。原始 Claude 分支和工作树仍保留。部署后的本节与流水账作为另一次纯文档提交保存。
|
||||
|
||||
部署前先在服务器临时目录展开该提交,通过 `docker run --rm --network none` 运行完整测试,没有生产 `.env`。实际使用 Python 3.11.9,41 批、983 例通过。随后在正式项目目录快进代码,执行 `make build` 和 `make up`。没有执行建表,没有修改运行参数,没有操作 188。155 的 `scripts/deploy.sh` 只有服务器本地可执行位修改,已原样保留。服务器原有未跟踪文件也保留。
|
||||
|
||||
运行态判收为真机见过。四个容器均为运行状态,重启计数为零,启动时间均为上述北京时间。四者镜像相同,为 `sha256:63e786de910adc5dd5ded41368922114cc40dc759dc6b472a5fcda60b032ee45`。另外用无挂载临时容器读取镜像内代码指纹,结果为 `18d7286b926a`,与提交快照、服务器工作树一致,因此没有仅凭源码挂载后的指纹一致判断上线成功。
|
||||
|
||||
12:16 至 12:18 的检查见网页健康状态为 `ok`,数据库连通,交易日历正常。QMT 通道为 `ONLINE`,回报水位继续推进,无重同步标记,无在途子委托,无待入账回报。四服务启动后日志没有 ERROR、CRITICAL 或 Traceback。调度正常完成任务,午休交易任务按 `not_in_session` 跳过。部署后的 `make test` 再次输出 `ALL SUITES PASS`,41 批、983 例通过。
|
||||
|
||||
本次只读确认的运行参数如下。这是 2026-10-12 午休的快照,后续仍以页面和参数表为准。
|
||||
|
||||
| 参数 | 读数 |
|
||||
|---|---|
|
||||
| `PMS_TABLE_PREFIX` | 空,模拟仓自有表 |
|
||||
| `PMS_DISPATCH_MODE` | `ws` |
|
||||
| `PMS_QMT_WS_ENABLED` | `True` |
|
||||
| `PMS_AUTONOMY` | `full` |
|
||||
| `PMS_SELF_DECIDE` | `full` |
|
||||
| `PMS_GLOBAL_BUY_HALT` / `PMS_GLOBAL_EXEC_HALT` | 均为 `False` |
|
||||
| `PMS_PLAN_RANK_BY_UPSTREAM` | `False` |
|
||||
| `PMS_PLAN_TIERS` | `强传导` |
|
||||
|
||||
部署时没有 GATED 方案。尚未终态的两条父指令中,一条没有下发子委托,另一条已有子委托为 FILLED。它们没有被部署脚本撤销或改写。新结算与一字板修复在真实行情中的触发效果仍未判收,不能用测试通过代替实盘事件判收。
|
||||
|
||||
155 的回退引用为 `codex/predeploy-20261012`,指向 `fbe0014`。旧镜像保留为 `pms:rollback-20261012-fbe0014`。若需要回退,要同时切回该源码和旧镜像,再重建四服务;155 挂载源码,只换镜像不能回退。回退不是本次已执行的动作,不对账本做逆向写入。
|
||||
|
||||
开发机证据日志为 `/tmp/pms-integrated-fifth.log`、`/tmp/pms-deploy-55e2ed6.log`、`/tmp/pms-postdeploy-tests.log`。服务器部署前断网回归日志为 `/tmp/pms-codex-55e2ed6.wfe1Da/test.log`。这些临时日志不是长期归档,关键结果已记录在本文和 `DEVLOG.md`。
|
||||
|
||||
另核实宿主机系统时间为 UTC,容器时间为北京时间。部署脚本的窗口判断已显式用北京时间。PMS 通道心跳的 DATETIME 原值与容器北京时间同步,不能再给该字段一律加八小时;其他数据库时间列仍需按各自写入路径校准。
|
||||
|
||||
剩余事项不变:四行历史假读数未清理,两项探针未执行,盘中才封板与因子库前复权基准仍未补充验证,188 真实仓继续等待原准备条件。
|
||||
|
|
|
|||
Loading…
Reference in New Issue