Skip to content

灵桥 Linkora v0.6.4:轮询降频

Choose a tag to compare

@github-actions github-actions released this 15 Oct 02:48
· 37 commits to main since this release

v0.6.4 (2026-10-15)

一次纯性能小版本:把轮询器对钉钉接口的调用频率降下来。没有新功能,消息一条不丢。

轮询降频:不再把钉钉接口打爆

此前后台轮询在活跃时段会以秒级频率反复拉取会话消息接口——钉钉管理后台(安全 > AI安全 > 调用管理)里能看到密集的调用记录,活跃时段还会反复触发平台限流,表现为回复偶发延迟。v0.6.4 分四层把调用量压下来:

  • 未读会话列表加 30 秒缓存:未读列表只决定「哪些会话优先抓取」,新消息仍由主通道每轮全量拉取,缓存不影响收消息。
  • 单聊对方信息解析失败进入 5 分钟负缓存:外部好友、跨组织、网络瞬断这类解析失败,此前每轮都会重打同一批元数据接口。
  • 未读会话抓取加 30 秒下限间隔:从「每轮必抓」改为「最多每 30 秒一次」,主通道快通道照旧即时派发。
  • 修好一个失真的统计:轮询日志里的「长尾限频跳过」此前恒为 0(早退路径没计数),降频效果看不出来,现已如实反映。

同时把轮询间隔从 10 秒放宽到 20 秒、置顶会话列表缓存 120→180 秒、黑名单自愈对账 10→20 轮、限流冷却 60→120 秒。

实测:同一活跃时段,平台限流熔断由每 30 分钟 28 次降到 14 次,改动后连续 18 分钟零熔断;接口调用总量约降 60–70%。

升级注意

无破坏性变更、无数据迁移。新增三个可调配置(unread_convs_cache_ttl_seconds / forced_fetch_min_interval_seconds / conv_info_negative_cache_ttl_seconds),默认值即降频后的取值;不想要降频可全部设为 0 回到旧行为。