Commit Graph
75 Commits
Author SHA1 Message Date
rom 0baac665da Merge pull request 'Develop' (#11) from develop into main
Reviewed-on: #11
2026-10-21 09:50:24 +00:00
rom 1a13075926 fix(ci): 锁定 Python 3.12,避免 uv 选 3.15 触发全量源码编译
CI / test (pull_request) Successful in 3m40s
2026-10-21 17:45:56 +08:00
rom 019cbadd1e feat: 新增 shop-dim-sync flow 并注册每 5 分钟调度
CI / test (pull_request) Canceled after 5m33s
2026-10-21 16:55:31 +08:00
inkreach e6fdda0b3f Merge pull request 'feat: OCR 新增支持波兰(PL,版式 pables_dpd/pables_inpost)' (#10) from inkreach/ocr-pl into main
Reviewed-on: #10
2026-10-15 07:00:30 +00:00
inkreach e4885803df Merge pull request 'fix: 写库重试 3→5 次、退避拉长至 1/3/7/15/30s' (#9) from inkreach/harden-db-write-retry into main
Reviewed-on: #9
2026-10-15 07:00:22 +00:00
yeuimu 2321e8ae9f Merge branch 'inkreach/ocr-pl': OCR 新增支持波兰(PL) 2026-10-15 03:14:40 +00:00
yeuimu fdcf107993 feat: OCR 新增支持波兰(PL,版式 pables_dpd/pables_inpost)
CI / test (pull_request) Successful in 2m49s
2026-10-15 03:12:21 +00:00
yeuimu e5175a0504 fix: 写库重试 3→5 次、退避拉长至 1/3/7/15/30s
CI / test (pull_request) Successful in 4m30s
sceptical-finch(riin-recent-sync 10-10 16:04)失败复盘:17track 物流回写
(宿主机本地进程,不走 advisory 锁)与 sync 写库在 panel 触发器链
(panel.orders/dims/dims_daily)上交叉持锁,冲突窗口持续约 3 分钟,
原 3 次重试(1/3/7s)全部耗尽。加深重试使其可跨过分钟级外部冲突窗口。
2026-10-10 09:08:01 +00:00
inkreach 489dacca49 Merge pull request 'Develop' (#8) from inkreach/develop into main
Reviewed-on: #8
2026-09-28 07:29:10 +00:00
yeuimu 5eacfefb6c fix: RIIN 商品状态补 CLOSE=已取消(重拉残留时告警发现的新枚举;UNKNOWN 保留 NULL)
CI / test (pull_request) Successful in 2m8s
2026-09-28 03:19:29 +00:00
inkreach 63d30d8f25 Merge pull request 'fix: RIIN 商品状态补 COMPLETE/PAUSE 映射,修复 Goods.status 大面积 NULL' (#7) from inkreach/fix/riin-goods-status-map into develop
CI / test (pull_request) Successful in 48s
Reviewed-on: #7
2026-09-28 03:04:39 +00:00
yeuimu c030eca178 fix: RIIN 商品状态补 COMPLETE/PAUSE 映射,修复 Goods.status 大面积 NULL
CI / test (pull_request) Successful in 1m35s
问题:RIIN 商品级 goodsStatus 复用平台状态枚举,COMPLETE/PAUSE 无映射,
.get() 返回 None 落库为 NULL,累计 206 万行(占 RIIN 商品 33.75%),
终态订单不再被 refresh_pending 刷新而长期滞留。该缺口继承自
inkreach-bi-auth-mng TS 版,且 TS 的 warnUnknown 告警在移植时被省略,
导致从未暴露。

修复:
- RIIN_GOODS_STATUS_MAP 补 COMPLETE=已完成、PAUSE=暂停
- 对齐 TS 版 warnUnknown:四个状态映射函数对未知值告警(同值只报一次)
- docs/sql:Goods.status 约束新增允许"暂停"(原约束拒绝,已在库执行)
- scripts/backfill_riin_goods_status.py:存量 NULL 按"已发货"订单终态
  近似回填(幂等、分批);"已关闭"与非终态订单走 by-orders 重拉真值
- tests/test_mappers.py:9 个单测全过;实单 GSU1S555400MFLL e2e 验证
  4 行 NULL → 已完成/暂停
2026-09-28 03:02:05 +00:00
inkreach fff5b707ac Merge pull request 'feat: OCR 新增支持西班牙/意大利/加拿大(ES/IT/CA)' (#6) from inkreach/ocr-es-it-ca into main
Reviewed-on: #6
2026-09-24 03:56:05 +00:00
yeuimu c6be5bacf6 ci: 检出兼容 AGit PR 的 refs/pull/N/head(clone --branch 只认分支名,改为 fetch 后 checkout)
CI / test (pull_request) Successful in 1m6s
2026-09-24 03:53:34 +00:00
yeuimu 2259bce7c4 feat: OCR 新增支持西班牙/意大利/加拿大(ES/IT/CA)
CI / test (pull_request) Failing after 1s
- api/ocr/models.py: SUPPORTED_COUNTRIES/_COUNTRY_MAP 补 CA/ES/IT 的 ISO 码与中文国名
- flows/label_ocr.py: label-ocr 默认国家列表扩为 8 国,docstring 同步
2026-09-24 03:49:46 +00:00
rom d07c67327e Merge pull request 'Develop' (#5) from develop into main
Reviewed-on: #5
2026-09-23 03:46:14 +00:00
rom 10d3c5f278 feat: 新增 platform-order-upper-sync flow 并注册部署
CI / test (pull_request) Successful in 1m2s
2026-09-23 11:41:10 +08:00
rom 6007b2c34b 增加商户号
CI / test (pull_request) Successful in 1m7s
2026-09-21 10:52:45 +08:00
rom d8e4adb0b5 增加商户号 2026-09-21 10:43:49 +08:00
rom 9c76772969 Merge pull request 'Develop' (#4) from develop into main
Reviewed-on: #4
2026-09-20 09:04:49 +00:00
rom f37ef24cf0 增加商户号
CI / test (pull_request) Successful in 45s
2026-09-20 16:53:49 +08:00
yeuimu 1393b2a86b fix: platform_order 本地直跑改为直接执行,不再 serve 同名 deployment(会覆盖正式部署导致 Not Ready) 2026-09-19 02:57:01 +00:00
yeuimu 5aaddbbf7c fix: worker 加 init 回收僵尸进程;label-ocr 批量请求重试且失败不落 ERROR
- docker-compose: prefect-worker 加 init: true。pull 步骤的 git 子进程被杀后
  无人 wait 变僵尸,9/17 宿主机重启后爆发 3.7 万僵尸占满容器 cgroup PID 配额,
  导致所有 flow run "Failed to start flow run process"(全量 CRASH 约 40h)。
- label_ocr: OCR 编排服务(lm-server-canary)偶发秒级重启,原逻辑对批量请求
  失败零重试并整批标永久 ERROR,9/1、9/5、9/9 三波共 ~2500 单误标。
  现改为请求级重试 3 次,仍失败则保持未处理,留给下个小时 run 自动重试。
2026-09-18 10:09:24 +00:00
inkreach a83b89b08a Merge pull request 'Develop' (#3) from develop into main
Reviewed-on: #3
2026-09-17 09:31:45 +00:00
yeuimu fbba147413 merge: 同步远端 develop
CI / test (pull_request) Successful in 35s
2026-09-17 09:11:54 +00:00
yeuimu 6800384f9a ci: 检出代码改为直接 clone Gitea, 摆脱对 github.com 的依赖(action 下载超时) 2026-09-17 09:10:55 +00:00
rom 000a0a934e chore: 补充 flows/platform_order 包 __init__.py
CI / test (pull_request) Failing after 2m2s
2026-09-17 14:55:56 +08:00
rom 1dead528fc 增加sm数据拉取数据 2026-09-17 14:32:39 +08:00
rom 5be6f33982 增加sm数据拉取数据 2026-09-17 14:29:25 +08:00
yeuimu b513667b69 merge: 同步 main( Incorporate PR #1) 2026-09-11 01:41:09 +00:00
yeuimu 387044a26c ci: 新增 PR 轻量检查工作流, AGENTS.md 补充 CI/CD 自动部署说明 2026-09-11 01:40:23 +00:00
inkreach 2fda92eec4 Merge pull request 'docs: AGENTS.md 精简依赖管理, 运行环境与部署模型合并为部署流程' (#1) from develop into main
Reviewed-on: #1
2026-09-10 07:44:23 +00:00
yeuimu 3336e3a20c docs: AGENTS.md 精简依赖管理, 运行环境与部署模型合并为部署流程 2026-09-10 06:43:04 +00:00
yeuimu 93eba91622 chore: 仓库迁移自托管 Gitea, 主分支改名 main
- prefect.yaml pull 步骤改从 gitea.inkreach.cc clone main 分支(凭据 gitea-token Block)
- AGENTS.md 同步仓库地址/分支模型(main/develop/deploy)与凭据说明, Gitee 远程退役保留
2026-09-10 06:26:26 +00:00
yeuimu 34675f16a8 style: 去掉引用语法, 明细改普通行(企微连续引用行渲染粘连) 2026-09-07 10:32:17 +00:00
yeuimu 669f1a717f style: 去掉全部 emoji, 状态用颜色文字表达(一致/不一致/正常/过热/需关注)
emoji 在企微客户端渲染成大色块很扎眼; 改为纯文字+<font color> 三色,
状态词直接着色, 数据保持素色, 版式标题+单行结论+引用详情不变
2026-09-07 10:29:24 +00:00
yeuimu f675a42d67 docs: AGENTS.md 通知层改为 webhook 描述 2026-09-07 10:10:22 +00:00
yeuimu 9b130097f9 feat: 通知发送层切换到群机器人 webhook, 排版精简
- wecom.py 重写: HTTP POST webhook(替代 aibot WebSocket 按需连接), 接口 send_markdown/send_text 不变, Secret Block wecom-webhook 存 URL
- webhook markdown 支持标题/引用/font 三色, 报告改为 '## 标题 + 单行结论 + 引用详情' 紧凑排版, 结论行用 info/warning 色
- alert_failure 改标题式排版; device_check 结论用 font 色, 去掉负载行
- 移除 wecom-aibot-sdk 依赖与 wecom_capture_chatid.py(镜像下次构建生效, 无需立即重建)
2026-09-07 10:09:11 +00:00
yeuimu c545c1b87d fix: 写库并发控制(advisory锁串行写+分批提交+lock_timeout+死锁重试), refresh_pending写任务加重试
死锁根因:sds-refresh-pending 与 label-ocr 整点并发写同一分区 Orders_2026_08,
互等对方未提交事务(ShareLock)。24h 内同类死锁 7 起。
- sync_orders_and_goods 所有写事务先取同一把 PG advisory 锁(事务级),单锁无环,死锁结构性消除
- 同步按批(1000单)独立提交,持锁窗口从整个 pending 集缩到单批
- 连接预设 lock_timeout=15s,DeadlockDetected/LockNotAvailable 整事务重试 3 次(退避1/3/7s)
- label-ocr 的 update_ocr_batch/update_ocr_fields 走同一把锁+重试
- sds/riin refresh_pending 的 upsert_records 加任务级重试(retries=3)
2026-09-02 03:23:02 +00:00
yeuimu d6be75d6b7 fix: 核验日报'数量一致'只看远程/本地总量, 状态差异单独第二段 2026-08-28 05:19:03 +00:00
yeuimu 7c323e9a3f feat: 四份报告按用户口径重做
- 核验日报: 先报订单数量(远程vs本地, verify 修复后重数 verifyReport.post)/商品行数一致性, 再报状态不符单数; SDS 统计口径排除'售后'与本地对称
- OCR: Orders 加 ocrProcessedAt 列(写入自动盖时间戳), 日报报'今日处理 X · 识别失败 Y'(db.count_ocr_today)
- 失败任务: check_prefect_failures 补 workflow 名, 日报/设备报列 run 名+状态+时间
- 设备日报: 新增 metrics-agent 侧车(每5分钟采样内存/swap/GPU+每日 du 快照), 报告改 平均/峰值/最低 + 总体/根目录/home 余量 + 增长最快目录 + GPU 温度; 采样缺失降级瞬时值
- Dockerfile 加 tzdata(TZ=Asia/Shanghai); du 用实际占块且容错 rc=1
2026-08-28 05:01:55 +00:00
yeuimu 66db7b279d style: 日报改结论式极简排版(去掉补拉等内部术语和逐状态明细) 2026-08-28 03:50:24 +00:00
yeuimu 60e5ff404e fix: 去掉 aibot 不支持的 font 标签,改加粗+emoji;补拉量合计格式化中文 2026-08-28 02:02:18 +00:00
yeuimu 14321faa91 style: 报告消息改用 WeCom 友好排版(去表格/彩色高亮/引用块) 2026-08-28 01:55:01 +00:00
yeuimu 5659c30bd1 fix: 日报措辞改为'已补拉',差异持续存在时提示口径问题 2026-08-27 11:02:24 +00:00
yeuimu 21057ea110 feat: alert 补全 flow 名;AGENTS.md 补充 monitor 架构说明 2026-08-27 09:45:28 +00:00
yeuimu aa9a021ac4 fix: wecom-alert 发送失败时在日志留档报警内容 2026-08-27 09:43:26 +00:00
yeuimu 1d0da2a00b feat: 接入企微智能机器人——异常报警/数据核验日报/设备健康日报
- flows/shared/wecom.py: WSClient 按需连接(连接→认证→发送→断开),全容错,超长分段
- flows/monitor/alert_failure.py: Prefect 事件触发(Failed/Crashed→run deployment),发群报警
- flows/monitor/daily_report.py: 每日 18:30 近7天 RIIN/SDS 核验(复用 verify)+商品完整性+OCR+失败回顾
- flows/monitor/device_check.py: 每日 09:00 内存/磁盘/GPU(80%阈值)+Docker 容器异常+服务探活
- db.py: 新增 get_goods_integrity/ping; compose worker 挂载 docker.sock+/:/host:ro+GPU
- scripts/wecom_capture_chatid.py: 一次性捕获群 chat_id 工具
2026-08-27 09:40:53 +00:00
yeuimu b9e0bc42be fix: SDS 款号解析器重写(split('()') 永不命中 bug)+RIIN style_code 兜底 2026-08-14 15:44:18 +00:00
yeuimu 0471065b68 fix: countryRegion 映射补'印美达美西二发货仓'→美国 2026-08-08 09:11:23 +00:00