Files
MoviePilot/tests
Q 8b3eb22748 fix(search): bound long site cooldowns during paged searches (#7056)
分页搜索在站点持续冷却时无法结束本轮收集,已缓存候选因此长期不能提交。

为来源持久化长冷却次数,仅在 cooldown 且等待至少 600 秒时累计;达到三次后仅停止当前轮次,下一轮重新搜索,成功取页后清零。

审查修复:
- 冷却时间与当前时间采用同一秒精度,避免恰好 600 秒的等待漏计。
- 临时下载票据重取共享有限等待计数,保留末页来源的实际冷却时间;重启不清零,也不提前重复请求。超过上限后放弃无法恢复票据的候选,继续提交可用候选。
- 补充虚拟时钟、检查点恢复、同源多个候选回退、旧检查点兼容与成功后清零的回归覆盖及中文注释。

验证:本地相关 pytest 217 passed;changed-file Pylint、Ruff ratchet、结构复杂度、849 个源文件的 mypy 和宿主架构快照通过。合并前核对最终 PR head 的六片全量测试、覆盖率、Pylint 和架构门禁。
2026-10-18 09:38:17 +08:00
..
…