需求文档:飞牛影视媒体库定时扫描功能优化
需求背景:
当前飞牛影视的媒体库扫描仅支持全局定时任务(如所有库统一每天扫描),但用户实际使用中可能存在以下痛点:
- 效率低下:频繁更新的库(如剧集)需每日扫描,而稳定库(如电影)无需高频扫描,全局设置浪费系统资源。
- 灵活性不足:用户无法为不同媒体库(如 NAS 中的多个文件夹)配置独立扫描策略,导致管理不便。
功能目标:
支持为单个媒体库独立设置定时扫描任务,允许用户根据不同库的更新频率自定义扫描计划。
核心功能描述
- 独立扫描配置入口:
- 在飞牛影视的
媒体库管理
页面,每个媒体库的配置选项中新增 **定时扫描设置
** 按钮(原全局扫描设置移至系统设置页)。
- 灵活的定时规则设置:
- 扫描频率:提供单选选项(每小时/每天/每周/每月/自定义 Cron 表达式)。
- 执行时间:支持设置具体时间点(如每周一 02:00)。
- 开关控制:允许单独启用/禁用某个库的扫描任务(默认关闭,需手动激活)。
- 优先级与冲突处理:
- 当多个库的扫描时间重叠时,系统按任务创建顺序排队执行,避免并发负载过高。
- 提供 **
立即扫描
** 按钮(单库生效),用于手动触发临时扫描。
- 全局扫描兼容性:
- 保留原有全局扫描开关(系统设置页),但优先级低于单库设置(即单库设置开启时,全局任务对该库不生效)。
用户场景示例
- 场景 1:用户
A
的剧集库每日更新,电影库极少变动。
- 操作:
- 进入
媒体库管理
→ 选择剧集库 → 开启定时扫描,设置 每天 03:00
。
- 电影库保持关闭状态,仅手动扫描。
- 效果:系统资源消耗降低 70%,硬盘负载减少。
- 场景 2:用户
B
有多个动漫库,需每周六更新。
- 操作:为所有动漫库设置
每周六 04:00
定时扫描,其他库禁用自动扫描。
界面设计建议
-
媒体库管理页调整:
[媒体库 A] [状态:已就绪] [文件数:1200] [▶ 播放] [⚙ 设置] → 新增 [⏱ 定时扫描]
-
状态反馈:
- 库列表页显示扫描状态图标(如:✅ 已启用 / 🔴 已关闭 / ⏳ 待执行)。
非功能性要求
- 性能:
- 单库扫描时,CPU/内存占用率不得超过全局扫描的 50%。
- 任务队列机制确保 NAS 低负载时段(如凌晨)优先执行高频库任务。
- 兼容性:
- 支持飞牛OS 3.0 及以上版本,适配桌面端/移动端管理界面。
- 异常处理:
- 扫描失败时,在
系统日志
中记录具体库路径与错误原因,并向用户推送通知。
验收标准
- 用户可为每个媒体库独立配置扫描时间、频率及开关状态。
- 单库扫描任务不与全局任务冲突,且按队列顺序执行。
- 定时任务需精准触发(误差 < 5 分钟),执行记录可在日志中追溯。
