定时任务
2023/9/27大约 5 分钟
⏰ 定时任务
定时任务是 MediaSaber 系统中用于自动化执行各种后台任务的功能模块。通过定时任务,系统可以按照预设的时间计划自动执行诸如数据同步、资源更新、状态检查等操作,减少人工干预,提高系统运行效率。
🚪 功能入口
定时任务功能位于系统首页顶部导航栏右侧,通过点击用户头像可以打开下拉菜单:
在下拉菜单中点击"定时任务"选项,即可进入定时任务列表页面。
🖥️ 界面布局
定时任务页面采用简洁的表格形式展示所有定时任务信息:
📋 任务列表
页面核心区域为任务列表,以表格形式展示所有定时任务的详细信息:
📊 任务信息字段
| 字段名称 | 说明 |
|---|---|
| 任务名称 | 定时任务的描述性名称 |
| 任务cron | 任务执行的时间表达式(cron格式) |
| 上次执行时间 | 任务最近一次执行的时间 |
| 下次执行时间 | 任务下次计划执行的时间 |
📝 任务列表特点
- 以表格形式清晰展示所有定时任务
- 按照系统预设的执行计划排列任务
- 显示任务的执行状态和时间信息
- 支持点击选择特定任务查看详情
📄 分页控件
页面底部包含分页控件:
- 显示当前页码和总页数
- 支持跳转到首页、末页、上一页、下一页
- 可以选择每页显示的任务数量
📋 任务信息详解
📋 任务名称
任务名称是对定时任务功能的简要描述,帮助用户快速了解任务的作用:
- 媒体库同步任务
- 站点签到任务
- 数据备份任务
- 系统健康检查任务
- 日志清理任务
⏱️ 任务cron
任务cron是使用cron表达式定义的任务执行时间计划:
关于cron表达式的详细说明,请参考:cron表达式文档
Cron表达式格式
Cron表达式由6个字段组成,分别表示:
秒 分 时 日 月 周常见cron示例
| 表达式 | 说明 |
|---|---|
0 0 2 * * * | 每天凌晨2点执行 |
0 0 0 * * 1 | 每周一凌晨执行 |
0 0 */6 * * * | 每6小时执行一次 |
0 30 9 * * 1-5 | 工作日早上9:30执行 |
🕐 上次执行时间
显示任务最近一次执行的具体时间:
- 格式为:YYYY-MM-DD HH:mm:ss
- 如果任务从未执行过,显示为空
- 帮助用户了解任务的执行历史
⏭️ 下次执行时间
显示任务下次计划执行的具体时间:
- 根据cron表达式计算得出
- 格式为:YYYY-MM-DD HH:mm:ss
- 帮助用户预测任务执行时间
📋 任务操作
👁️ 查看任务详情
- 在任务列表中点击任意任务行
- 系统会选中该任务并高亮显示
- 当前版本暂不支持查看详细配置信息
🔄 刷新任务列表
- 页面加载时会自动获取最新的任务列表
- 如需手动刷新,可重新进入页面
- 任务信息会实时更新
📊 任务类型
MediaSaber 系统包含多种类型的定时任务:
🎬 媒体相关任务
- 媒体库同步:定期同步媒体库信息
- 订阅刷新:定期刷新订阅内容
- 查漏补缺:检查并补充缺失的媒体内容
🌐 站点相关任务
- 站点签到:定期在配置的站点执行签到操作
- 连通性测试:检查站点连接状态
- 数据同步:同步站点数据到本地
📊 系统维护任务
- 数据备份:定期备份系统数据
- 日志清理:清理过期系统日志
- 健康检查:检查系统运行状态
📈 数据处理任务
- 统计信息更新:更新系统统计信息
- 缓存清理:清理过期缓存数据
- 索引重建:重建搜索索引
📋 任务状态说明
🟢 正常状态
- 任务按照cron表达式正常执行
- 上次执行时间和下次执行时间均正常显示
- 系统会自动调度任务执行
🟡 异常状态
- 任务执行出现错误
- 可能需要管理员干预
- 系统会记录错误日志
⚫ 停止状态
- 任务被系统或管理员停止
- 不会按照计划执行
- 需要手动恢复
⚙️ 任务管理(待开发)
当前版本的定时任务页面主要用于查看任务信息,后续版本将支持以下功能:
✅ 任务控制
- 启用/停用特定任务
- 手动触发任务执行
- 调整任务执行计划
📝 任务配置
- 修改任务cron表达式
- 配置任务执行参数
- 设置任务依赖关系
📊 任务监控
- 查看任务执行历史
- 监控任务执行状态
- 接收任务异常通知
🎯 使用技巧
🕐 时间规划
- 合理安排执行时间:避免在系统高峰期执行资源密集型任务
- 错峰执行:将不同任务安排在不同时间执行,避免资源竞争
- 周期评估:定期评估任务执行频率是否合理
📊 状态监控
- 定期检查:定期查看任务执行状态
- 关注异常:及时处理执行失败的任务
- 性能观察:观察任务对系统性能的影响
📋 任务分析
- 执行频率:根据实际需求调整任务执行频率
- 依赖关系:注意任务间的依赖关系
- 资源消耗:评估任务对系统资源的消耗情况
通过定时任务功能,MediaSaber 系统可以自动化执行各种后台操作,提高系统运行效率,减少人工干预,确保系统稳定运行。

