智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5.2 KiB

school_sys_schedule 表文档

表概述

表名: school_sys_schedule
功能: 系统计划任务管理表,用于管理和调度系统中的各种定时任务和周期性任务

字段说明

Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
id	int	NULL	NO	PRI	NULL	auto_increment	select,insert,update,references	
addon	varchar(255)	utf8mb4_general_ci	NO				select,insert,update,references	所属插件
key	varchar(255)	utf8mb4_general_ci	NO				select,insert,update,references	计划任务模板key
status	int	NULL	NO		1		select,insert,update,references	任务状态 是否启用
time	varchar(500)	utf8mb4_general_ci	NO				select,insert,update,references	任务周期  json结构
count	int	NULL	NO		0		select,insert,update,references	执行次数
last_time	int	NULL	NO		0		select,insert,update,references	最后执行时间
next_time	int	NULL	NO		0		select,insert,update,references	下次执行时间
create_time	int	NULL	NO		0		select,insert,update,references	创建时间
delete_time	int	NULL	NO		0		select,insert,update,references	删除时间
update_time	int	NULL	NO		0		select,insert,update,references	更新时间
sort	int	NULL	NO		0		select,insert,update,references	排序

功能用途

主要功能

  • 任务调度管理: 管理系统中各种定时任务的调度和执行
  • 插件任务支持: 支持不同插件模块的专属定时任务
  • 任务状态控制: 控制任务的启用、禁用状态
  • 执行周期配置: 通过JSON结构灵活配置任务执行周期
  • 执行统计: 记录任务的执行次数和执行历史
  • 时间管理: 跟踪任务的最后执行时间和下次执行时间
  • 任务排序: 支持任务的优先级排序和执行顺序
  • 任务模板: 基于key值管理任务模板和配置
  • 执行监控: 监控任务的执行状态和性能

业务场景

  • 数据同步任务: 定期同步各系统间的数据
  • 报表生成: 定时生成各类统计报表和分析数据
  • 数据备份: 定期备份重要的业务数据
  • 消息推送: 定时发送通知消息和提醒
  • 数据清理: 定期清理过期数据和临时文件
  • 统计计算: 定时计算业务指标和统计数据
  • 系统维护: 定期执行系统维护和优化任务
  • 缓存更新: 定时更新和刷新系统缓存
  • 日志归档: 定期归档和压缩系统日志
  • 健康检查: 定期检查系统和服务的健康状态
  • 数据导入导出: 定时执行数据的导入导出任务
  • 邮件发送: 定时发送邮件通知和报告

关联关系

主要关联表

  • school_sys_schedule_log: 任务执行日志表(任务执行记录)
  • school_sys_addon: 插件表(任务所属插件)
  • school_sys_cron_task: 定时任务表(具体的cron任务)
  • school_sys_user: 系统用户表(任务创建者)
  • school_campus: 校区表(任务执行范围)
  • school_sys_config: 系统配置表(任务相关配置)
  • school_sys_log: 系统日志表(任务执行日志)

关联说明

  • 插件关联: addon字段关联到具体的插件模块
  • 任务模板: key字段标识任务模板和配置类型
  • 执行日志: 与执行日志表形成一对多关系
  • 时间关联: 记录任务的创建、更新和执行时间
  • 状态关联: 任务状态影响实际的执行调度
  • 配置关联: time字段存储JSON格式的执行周期配置
  • 监控关联: 与系统监控和告警系统关联

索引建议

  • 主键索引: id(已存在)
  • 插件索引: addon(按插件查询任务)
  • 任务键索引: key(按任务模板查询)
  • 状态索引: status(按状态查询活跃任务)
  • 时间索引:
    • next_time(下次执行时间查询)
    • last_time(最后执行时间查询)
    • create_time(创建时间查询)
    • update_time(更新时间查询)
  • 复合索引:
    • (status, next_time)(查询待执行任务)
    • (addon, status)(按插件查询活跃任务)
    • (addon, key)(插件任务模板查询)
    • (status, sort)(按状态和排序查询)
  • 排序索引: sort(任务排序)
  • 删除状态索引: delete_time(逻辑删除查询)

注意事项

  • 时间精度: 确保执行时间的精确性和时区处理
  • 并发控制: 防止同一任务的重复执行和并发冲突
  • 异常处理: 建立完善的任务执行异常处理机制
  • 性能监控: 监控任务执行的性能和资源消耗
  • 日志记录: 详细记录任务执行的过程和结果
  • 配置验证: 验证JSON格式的时间配置的正确性
  • 资源管理: 合理管理任务执行时的系统资源
  • 故障恢复: 建立任务执行失败的重试和恢复机制
  • 权限控制: 严格控制任务的创建、修改和删除权限
  • 数据一致性: 确保任务状态与实际执行状态的一致性
  • 插件依赖: 处理任务与插件模块的依赖关系
  • 时间同步: 确保服务器时间的准确性和同步
  • 任务隔离: 不同插件的任务应该相互隔离
  • 执行超时: 设置合理的任务执行超时时间
  • 负载均衡: 在多服务器环境下合理分配任务执行
  • 备份恢复: 重要任务配置需要定期备份