mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-11-03 22:04:57 +08:00
fix(torrent): retry transient downloads and shorten empty-content cooldown
This commit is contained in:
@@ -99,6 +99,14 @@ with patch.object(SomeModule, "fetch", new=AsyncMock(return_value=FAKE)):
|
||||
这些场景只承诺已验证的 SMB 查询语义;为其他存储接入严格快照时,应在其 SDK/API
|
||||
边界复现同样的状态转换,并评估目录时间语义、分页和请求成本。
|
||||
|
||||
## 种子下载重试回归
|
||||
|
||||
种子下载重试的离线边界见 `tests/test_torrent_download_retry.py`:普通 GET 在网络失败、
|
||||
403/5xx、空响应或无法解析的响应后最多重试两次,退避为 1、2 秒。签名链接刷新、换票地址、
|
||||
首次下载确认 POST 和 429 流控保持各自的既有流程。测试替换 HTTP 端口与等待,不访问真实站点。
|
||||
瞬时状态不会写入 24 小时无效链接缓存;订阅记录的泛化“下载种子内容为空”使用 1 小时冷却,
|
||||
明确资源失效仍保留 24 小时冷却。此策略不追溯修改已经写入的失败记录。
|
||||
|
||||
## 自隔离:用了什么,就还原什么
|
||||
|
||||
用例若修改了**进程级状态**——`sys.modules` 桩、单例(`Singleton._instances`)、`lru_cache`、环境变量、`settings` 字段——必须在用例或模块结束时还原。pytest 一次性导入全部测试模块,未还原的污染会扩散到后续用例,产生“单独跑过、一起跑挂”的测不准现象。
|
||||
|
||||
Reference in New Issue
Block a user