Commit Graph
64 Commits
Author SHA1 Message Date
jxxghp c89066d96f refactor: route media source settings through runtime 2026-08-23 03:20:03 +08:00
jxxghp 1402626a4a refactor(tmdb): 空结果缓存过期时间收敛为设置项 EMPTY_RESULT_CACHE_TTL
- ConfigModel TMDB 配置区新增 EMPTY_RESULT_CACHE_TTL(默认 30 分钟),支持环境变量覆盖
- request/async_request/discover/TmdbCache 统一改读 settings,移除模块级常量与跨模块导入
2026-08-16 21:20:32 +08:00
jxxghp fa06a4ac03 fix(tmdb): 空结果缓存使用独立短 TTL,故障恢复后快速自愈,关闭 #6332
- cached 装饰器新增 empty_ttl/empty_if,空结果按独立短 TTL 写入
- TMDB request/async_request/discover 空结果快照 30 分钟过期
- TmdbCache 未识别负缓存(id=0)同步改用 30 分钟短 TTL,正缓存不变
2026-08-16 20:50:55 +08:00
jxxghp 4345fcfa22 refactor(chain): chain 与 module 仅经 run_module 契约互联,实现模块内容封闭
- mTorrent 字幕链接解析下沉为 IndexerModule.site_subtitle_links,subtitle 模块自行跳过 API 站点
- TMDB/MusicBrainz 识别缓存管理改为模块方法(tmdb_cache_*/music_cache_*)经 run_module 分发
- WechatClawBot 客户端查找/临时客户端/缓存迁移内聚为 wechatclawbot_* 模块方法,
  chain 移除 WechatClawBot 类与 ModuleManager 内省
- LISTENBRAINZ_* 常量迁至 schemas/types.py,模块与链层再导入保持兼容
- TMDbException 升为 schemas/exception.py 跨层契约,vendored 异常保持类身份一致
- 架构守护测试新增 test_chain_does_not_import_module_internals(共 18 项)
- 文档同步:chain->module 仅允许 run_module 分发,直接导入禁止
2026-08-16 05:25:28 +08:00
jxxghp 369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp 7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
Aqr-KandAqr-K a2e70b443d fix(monitor,transfer): 修复 FUSE 挂载无响应导致的监控冻死、整理链锁死与漏件 (#6276)
* wip(v3): 移植监控与整理韧性修复到 v3 基线

包含:监控看门狗隔离/挂载探测、整理队列持久化、文件系统子进程代理、
写入原子化。迁移重挂到 v3 链 8a4c7e1d2f90 -> 7f5c1d2e3a4b -> e3d9f4b7c806。
tmdb 相关测试尚未通过,待定位。

* fix(v3): 修正移植引入的 16 项测试失败

- poller.py:合并时我方保留的行仍用旧变量名 merged_snapshot,而 v3 已统一
  改名为 current_snapshot,导致 NameError 被外层 except 吞掉、快照从未保存
- smb.py:采纳 f-string 拆分写法,恢复 Python 3.11 可解析
- dispatcher 测试:历史查重由 _should_skip_by_history 统一承担,mock 点随之调整
- tmdb 缓存测试:补充 v3 新增的 media_source/media_id 字段
- tmdb 重试测试:为 fake 补充 match_multi/async_match_multi

尚余 3 项与 v3 识别流程的连接失败处理有关,待单独判断。

* fix(v3): 测试适配 v3 的 media_source/media_id 重构

v3 将媒体标识从 tmdbid 统一重构为 media_source + media_id,recognize_media
的 tmdbid 参数已被 **kwargs 静默吞掉——传了也不生效,流程会误降级到名称搜索。
tmdb 重试用例改用新参数后恢复正确路径。

同时修正 fake 的 match_multi 语义:真实实现(tmdbapi.match_multi)吞掉所有
异常并返回 None,连接失败与「未找到」在该路径上本就不可区分,fake 需保持一致。

至此移植引入的 19 项失败全部清零。

---------

Co-authored-by: Aqr-K <Aqr-K@users.noreply.github.com>
2026-08-13 08:19:54 +08:00
jxxghp d26225b998 fix(tmdb): stabilize tmdb connection reuse 2026-06-11 12:48:32 +08:00
jxxghpandClaude Opus 4.7 7cc037c683 fix: suppress garbled gzip bytes in tmdb error log
When Content-Encoding is present (e.g. gzip), skip logging the raw
response text to avoid unreadable binary output in logs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 18:08:10 +08:00
jxxghp 068d0af4ca fix: remove tmdb manual gzip fallback 2026-05-20 17:09:31 +08:00
jxxghp 8f117d79f2 Revert "fix: handle tmdb gzip json responses"
This reverts commit 47c4e84fdd.
2026-05-20 17:03:47 +08:00
jxxghp 47c4e84fdd fix: handle tmdb gzip json responses 2026-05-20 16:54:01 +08:00
jxxghp a5745af484 fix: restore tmdb trending recommendations 2026-05-20 10:55:01 +08:00
jxxghp c3e4e1a764 fix: decode raw gzip tmdb responses 2026-05-20 10:44:01 +08:00
jxxghp 6edb627145 fix: handle tmdb unicode decode errors 2026-05-20 09:21:36 +08:00
jxxghp 07f51c5d94 fix: handle invalid tmdb json responses 2026-05-20 09:05:18 +08:00
jxxghp 3c055e2482 fix: avoid tmdb cached response mutation
Fixes #5777
2026-05-16 08:02:18 +08:00
DDSRem 5a585839ba chore: remove unused imports and fix function name conflicts (#5764)
- Remove unused imports in anthropic.py, tmdbv3api/__init__.py, tv.py, test files
- Rename conflicting function names in subscribe.py and webhook.py
- Clean up unused re-exports in tmdbv3api/__init__.py (15 unused exports)
- Apply consistent formatting across API endpoints
2026-05-13 18:59:03 +08:00
jxxghp 5e5c257b75 fix(tmdb): cache serializable response snapshots
Avoid caching raw HTTP response objects in TMDb request helpers so Redis no longer fails on embedded locks. Add an isolated regression test for sync and async request snapshots.

Refs #5763
2026-05-12 22:31:56 +08:00
景大侠 4c3d47f1f0 feat(cache): 同步/异步函数可共享缓存
- 缓存键支持自定义命名,使异步与同步函数可共享缓存结果
- 内存缓存改为类变量,实现多个cache装饰器共享同一缓存空间
- 重构AsyncMemoryBackend,减少重复代码
- 补齐部分模块的缓存清理功能
2026-02-10 18:46:49 +08:00
Attente 6755202958 feat(cache): 使用 fresh 和 async_fresh 统一缓存控制方式
- 修复因缓存导致的插件更新后仍有更新提示的问题
- 统一使用 fresh/async_fresh 控制缓存行为
- 调整 TMDb 模块缓存策略,优化异步请求缓存清除机制
- 移除冗余的缓存方法封装,减少调用层级
- 简化 PluginHelper 中的缓存方法结构,移除 force 参数
2025-11-03 07:41:42 +08:00
Attente b609567c38 feat(cache): 引入 fresh 和 async_fresh 以控制缓存行为
- 新增 `fresh` 和 `async_fresh` 用于在同步和异步函数中
临时禁用缓存。
- 通过 `_fresh` 这一 contextvars 变量实现上下文感知的
缓存刷新机制
- 修改了 `cached` 装饰器逻辑,在 `is_fresh()` 为 True
时跳过缓存读取。

- 修复 download 模块中路径处理问题,使用 `Path.as_posix()` 确保跨平台兼容性。
2025-10-19 22:31:50 +08:00
jxxghp ff7fb14087 fix cache_clear 2025-09-02 08:35:48 +08:00
jxxghp 90633a6495 fix #4851 2025-08-27 15:57:43 +08:00
jxxghp 983f8fcb03 fix httpx 2025-07-31 13:51:43 +08:00
jxxghp 6873de7243 fix async 2025-07-31 13:32:47 +08:00
jxxghp ca51880798 fix themoviedb api 2025-07-31 08:40:24 +08:00
jxxghp 8b708e8939 fix themoviedb api 2025-07-31 08:34:47 +08:00
jxxghp 749aaeb003 fix async 2025-07-31 07:07:14 +08:00
jxxghp 423c9af786 为TheMovieDb模块添加异步支持(part 1) 2025-07-30 22:28:12 +08:00
Attente 0f0c3e660b style: 清理空白字符
移除代码中的 trailing whitespace 和空行缩进, 提升代码整洁度
2025-06-29 22:49:58 +08:00
jxxghp 93eec6c4b8 fix cache 2025-06-27 15:24:57 +08:00
jxxghp 574257edf8 add SystemConfModel 2025-06-27 09:54:15 +08:00
jxxghp 23929f5eaa fix pool size 2025-06-07 22:00:09 +08:00
jxxghp 1a8e0c9ecb fix #4270 2025-05-14 08:41:06 +08:00
jxxghp 16fc0d31cd fix #4270 2025-05-14 08:11:50 +08:00
InfinityPacer ff5d94782f fix(TMDB): adjust trending cache maxsize to 1024 2025-01-18 23:45:03 +08:00
InfinityPacer 11d4f27268 feat(cache): migrate cachetools usage to unified cache backend 2025-01-18 02:12:20 +08:00
jxxghp ebffdebdb2 refactor: 优化缓存策略 2024-11-21 15:52:08 +08:00
jxxghp e2e1c7642d fix 订阅重置 & TMDB电视剧榜单 2024-06-10 09:38:12 +08:00
thsrite 74c71390c9 fix unhashable type: 'dict' 2024-06-03 09:54:32 +08:00
jxxghp a278c80951 fix #2151 TMDB发现和趋势修改为TTL缓存 2024-05-24 09:29:51 +08:00
jxxghp 9daff87f2f fix api 2024-04-26 19:41:17 +08:00
jxxghp f20b1bcfe9 feat:人物搜索API 2024-04-26 17:47:45 +08:00
jxxghp a3603f79c8 fix requests 2024-04-10 22:16:10 +08:00
jxxghp 9439d02351 fix TMDB缓存None的问题 2023-11-11 10:37:33 +08:00
jxxghp cbea7ccdf6 fix TMDB缓存None的问题 2023-11-11 10:34:49 +08:00
jxxghp 3bdd96a8ee fix #951 不缓存网络错误导致的TMDB信息None 2023-10-26 17:07:01 +08:00
jxxghp ac3009d58f fix bug 2023-10-12 08:40:56 +08:00
jxxghp 79c7475435 fix tmdb lru cache 2023-10-05 17:41:02 -07:00