| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| data/jvs-dw | ||
| prisma | ||
| sql | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .swcrc | ||
| Dockerfile | ||
| jest.config.cjs | ||
| nest-cli.json | ||
| package.json | ||
| tsconfig.build.json | ||
| tsconfig.json |
把 push(形态 A/C)打磨成宿主唯一接入通道,存量=按批重放的增量: 摄入一致性(消除同源分叉): - 形态 C 复用 normalizeCanonical(金额元→分 / 无时区时间补 offset),含 envelope occurredAt/updatedAt —— 与形态 A/pull 同一转,宿主用自己系统的格式发,不做转换。 - 业务事件先于患者主档到达 → dispatcher stub 自建空壳患者(对齐 form A),主档后到补全 同一行,不双人;push 跨批顺序无关。 幂等/乱序: - patient_facts 加 source_updated_at,fact-writer 按它裁决:更旧版本晚到 → stale_skipped 跳过,不旧覆新。关掉"补推快照 vs 实时推送并发交错"的乱序窗口。 体制/性能: - 限批 500(A 从 2000 对齐 C);persona 入队去抖(5min 桶去重,存量批次合并重算)。 - 同 host 并发闸(信号量,PAC_PUSH_CONCURRENCY 默认 4;幂等+裁决保证并发语义=串行)。 - 单飞锁索引收窄 WHERE direction='pull' —— 原索引把并发 push 批次拦成 P2002/500。 异常/可观测: - 整批全失败 → 拒收 30802 + SyncLog FAILED;失败率/疑似改表 → 告警。 - 未知 source → 10001(非 90000,避免宿主对永久错误无限重试)。 - push 断流监控(超 26h 无 push 告警);form A 响应透出 mappingMisses/suspectFields 供自检。 文档 channel-push 按宿主视角重写(subjectType 单一口径、金额时间统一"原样发 PAC 归一")。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| data/jvs-dw | Loading commit data... | |
| prisma | Loading commit data... | |
| sql | Loading commit data... | |
| src | Loading commit data... | |
| tests | Loading commit data... | |
| .dockerignore | Loading commit data... | |
| .env.example | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .swcrc | Loading commit data... | |
| Dockerfile | Loading commit data... | |
| jest.config.cjs | Loading commit data... | |
| nest-cli.json | Loading commit data... | |
| package.json | Loading commit data... | |
| tsconfig.build.json | Loading commit data... | |
| tsconfig.json | Loading commit data... |