主题
架构总览
Emby Toolkit 由 Web 服务、任务系统、实时监控、数据持久化与外部服务集成组成,整体呈现“事件触发 + 批量调度”的混合模式。
组件视图
- Web 应用层:
web_app.py负责启动 Flask 服务、注册蓝图与初始化处理器。 - 核心处理器:
MediaProcessor(core_processor.py)负责元数据处理、翻译、补全与回写。 - 任务系统:
task_manager.py+tasks/目录负责调度任务与任务链执行。 - 实时监控:
monitor_service.py使用watchdog监听媒体目录变更。 - 反向代理:
reverse_proxy.py负责虚拟库与自建合集的代理输出。 - 数据库层:
database/connection.py定义核心表结构与索引。 - 前端 UI:
emby-actor-ui构建 Web 管理界面,构建产物由后端提供静态资源。
运行时流程(简化)
- 入口脚本(Docker)生成 Nginx 配置并启动 Web 服务。
web_app.py加载配置与数据库,初始化处理器实例。- 任务调度器加载任务链(高频/低频),按 Cron 执行。
- Webhook 与实时监控将新媒体事件转为处理任务。
- 处理器从 TMDb/豆瓣/本地源补全元数据,写入数据库并回写 Emby。
- 需要时触发合集维护、封面生成与通知推送。
数据流与控制流
- 数据流:外部数据源 → 处理器解析 → 数据库持久化 → Emby 回写。
- 控制流:Web UI/API 操作 → 任务队列 → 处理器执行 → 结果回显。