# 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格式的时间配置的正确性 - **资源管理**: 合理管理任务执行时的系统资源 - **故障恢复**: 建立任务执行失败的重试和恢复机制 - **权限控制**: 严格控制任务的创建、修改和删除权限 - **数据一致性**: 确保任务状态与实际执行状态的一致性 - **插件依赖**: 处理任务与插件模块的依赖关系 - **时间同步**: 确保服务器时间的准确性和同步 - **任务隔离**: 不同插件的任务应该相互隔离 - **执行超时**: 设置合理的任务执行超时时间 - **负载均衡**: 在多服务器环境下合理分配任务执行 - **备份恢复**: 重要任务配置需要定期备份