主题
处理流程
本页以三条主线描述处理流程:入库事件、任务链、实时监控。
1. Webhook 入库流程
触发入口:/webhook/emby(routes/webhook.py)
- Emby 事件到达 → 解析媒体项 → 获取 Emby Item 详情。
- 智能追剧判断:系列入库时加入追剧列表。
- 核心处理:调用
MediaProcessor.process_single_item()完成元数据补全、翻译与回写。 - 合集更新:榜单类合集会把新项目追加到 Emby 合集中。
- 封面生成:根据配置触发媒体库封面生成。
- TMDb 合集:电影入库时检查并订阅 TMDb 合集。
- 通知分流:通过 Telegram 发送新入库/追更通知。
2. 任务链流程
任务链由 tasks/core.py 注册,配置项定义于 config.ini(Scheduler 部分)。
- 高频任务链:用于日常刷新的核心任务序列。
- 低频任务链:用于维护、清理与低频场景。
- 任务执行:任务队列按顺序执行,每个任务更新进度与日志。
典型任务:
- 同步演员数据、演员中文化、角色名翻译
- 同步媒体元数据与评分
- 刷新追剧、演员订阅
- 生成封面、刷新合集
3. 实时监控流程
监控服务在启用后监听指定目录(Monitor 配置):
- 新增/移动:聚合文件并批量处理,优先提取代表文件进行刮削。
- 删除:对删除事件进行批处理并刷新 Emby 视图。
- 排除路径:命中排除路径的文件仅刷新,不做刮削。
4. 反向代理虚拟库
当启用反向代理后:
- 代理层汇总原生库与自建合集;
- 对虚拟库 Items 做排序与分页,必要时进行内存排序回退;
- 通过 Nginx 转发与静态资源处理提供访问入口。