此前 sync_data/start_sync/_connect/scheduler 四处会在请求前按本地 rate_limited_until 估算直接拒绝同步,用户看到'立即同步→被限流'实际是 本地拦截、零请求。若 Garmin 已恢复,陈旧估算会让账号一直闲置。 2026-09-02 起冷却只是信息不是闸门: - start_sync / sync_data 开头移除本地拒绝,_connect 移除冷却提前抛错, scheduler 不再跳过冷却中的账号 - 真实 429(refresh_oauth2 / 拉取中途)仍 _note_rate_limit 写 24h 冷却 并 stand down,中途退避分支保留用冷却算恢复时间 - 成功收尾 _clear_rate_limit 退休陈旧冷却,避免误导后续诊断 - 测试:blocked→仍会真实请求;stale cooldown→healthy connect 放行; 真实 429 mid-run 仍记 rate_limited;成功清除冷却(596 passed)
40 KiB
40 KiB