2026-09-03 一卡通人员拉取独立日志与分段耗时变更记录

变更结论

一卡通人员全量同步现已将耗时拆分为“一卡通服务器拉取”“业务服务器同步”和“可选本地保存”三段,并在同步弹框中分别展示状态、开始时间、结束时间和耗时。

自动拉取和手动拉取统一写入独立的 Log/人员拉取_yyyyMMdd.txt 文件;每轮日志包含触发来源、成功或失败状态、失败步骤、成功数量和各段耗时。现有日志查看弹框会自动列出该 .txt 文件。

同步批量边界

环节当前批量说明
从一卡通服务器拉取2000 人/批平衡源端请求次数与 SOAP/DOM 瞬时内存;本次未再上调
同步给业务服务器最多 1000 条/批沿用 SyncPersonsRequest.MAX_ITEMS,保持不变
本地保存一轮完整快照仅在开关启用且业务同步零失败后执行

源端 2000 人/批仍需在目标设备用真实全量数据验证峰值内存;代码级通过不等同于已经证明不会 OOM。

三段计时口径

1. 一卡通服务器拉取

2. 业务服务器同步

3. 本地保存

独立日志

主要事件:PERSON_PULL_STARTPERSON_PULL_CONNECT_SUCCESSPERSON_PULL_FETCH_BATCH_SUCCESSPERSON_PULL_FETCH_SUCCESSPERSON_PULL_UPLOAD_STARTPERSON_PULL_UPLOAD_BATCH_RESULTPERSON_PULL_UPLOAD_SUCCESSPERSON_PULL_UPLOAD_FAILUREPERSON_PULL_LOCAL_SAVE_STARTPERSON_PULL_LOCAL_SAVE_SUCCESSPERSON_PULL_LOCAL_SAVE_FAILUREPERSON_PULL_SUCCESSPERSON_PULL_FAILURE

失败终态通过 failedStage=CONNECT/FETCH/UPLOAD/LOCAL_SAVE 标记具体步骤,并记录错误类型和经过换行清理、长度限制的错误摘要。成功终态记录处理总数、成功数、失败数、源端耗时、业务端耗时、可选本地保存耗时和整轮耗时。

业务端返回的 unchanged 表示已存在且无需更新,本次将其计入成功数量,成功数统一为 total - failed

弹框与状态保存

主要代码变更

自动化验证

新增或更新的测试覆盖自动/手动触发、连接/拉取/上传失败步骤、三段状态与耗时、本地保存成功/失败隔离、旧 JSON 兼容、unchanged 成功数,以及业务端 1000 条分批边界。

未执行项

Git 状态

源码分支:shorten_sync_time;本记录不包含生产凭据或人员数据。