iotlcm-worker-svr:异步执行中枢(RabbitMQ 消费者 + 全量同步编排)。 - Go module:iotlcm-worker-svr → git.5iot.com/iotlcm-public/iotlcm-worker-svr(214 文件) - 凭据与内部标识脱敏:MySQL/Redis 凭据、私网与生产 IP、内网域名、 库名 xiujie_admin → iotlcm、哨兵名占位 - 159 处真实手机号 → 合法 11 位编造号(保留号段与后 4 位,维持互异, 不破坏「校验 MSISDN 格式」等测试断言) - 移除内部资产:CI 触发器、Jenkins 触发测试文档、预演门禁与镜像 digest 记录 - Dockerfile 改用公共基础镜像(golang:1.25-alpine → alpine:3.23), 移除写死的 git 凭据 - README 重写(架构/全量同步模型/配置/已知失败),补 Apache-2.0 LICENSE,LF 行尾 + .gitattributes 已知:3 个测试包在源仓同一提交上同样失败(client/upstream、 service/allocate、service/inbound),属既有缺陷,本仓未引入亦未修复。
1.3 KiB
Simple full-sync replay
The Worker control server listens on :18081 inside the private Docker network. Do not publish port 18081 to the host or the internet. Admin already enforces user JWT authentication and replay permissions and calls http://iotlcm-worker-svr:18081 directly; no additional Worker URL or bearer token environment variables are needed.
POST /api/v1/iot/fullSyncRuns/replaywith{ "sourceRunId": "..." }returnsreplayRunIdandaccepted. Admin requirescpm:iot:fullSyncRuns:replay.GET /api/v1/iot/fullSyncRuns/replay/{replayRunId}reports admission (accepted,processing,needs_attention,completed), remaining source records, enqueued count, and the independent target Run status. Requirescpm:iot:fullSyncRuns:replay:view.
All failures in a completed flow: or sim-status: Run are selected. No retryability filter; the target Run has exactly one business round. Source failure entries are deleted only after target task-state confirms enqueue; original outcome counts and historical JSON remain unchanged. Repeat requests to the same source return the same target. After repairing a needs_attention condition, repeat the request to resume it. To retry again after completion, use the new Replay Run as the source.
No deployment or live Replay request is part of this change.