# school_jobs_failed 表文档 ## 表概述 **表名**: school_jobs_failed **功能**: 任务失败记录表,用于记录和管理系统中执行失败的异步任务信息,包括任务队列、载荷数据、异常信息等,为系统任务监控、错误排查和故障恢复提供完整的失败任务记录 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references connection text utf8mb4_general_ci NO NULL select,insert,update,references queue text utf8mb4_general_ci NO NULL select,insert,update,references payload longtext utf8mb4_general_ci NO NULL select,insert,update,references exception longtext utf8mb4_general_ci NO NULL select,insert,update,references fail_time timestamp NULL NO CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references ``` ## 功能用途 ### 主要功能 - **失败任务记录**: 记录执行失败的异步任务的完整信息 - **队列信息管理**: 记录任务所属的队列和连接信息 - **载荷数据保存**: 保存任务的完整载荷数据,便于重新执行 - **异常信息记录**: 详细记录任务失败的异常信息和错误堆栈 - **失败时间跟踪**: 记录任务失败的具体时间点 - **错误分析支持**: 为系统错误分析和故障排查提供数据支持 - **任务重试基础**: 为失败任务的重新执行提供数据基础 - **系统监控**: 支持系统任务执行状态的监控和告警 ### 业务场景 - **邮件发送失败**: 记录邮件发送任务的失败信息 - **短信发送失败**: 记录短信发送任务的失败详情 - **数据同步失败**: 记录数据同步任务的失败情况 - **文件处理失败**: 记录文件上传、转换等处理任务的失败 - **支付回调失败**: 记录支付回调处理任务的失败 - **报表生成失败**: 记录报表生成任务的失败信息 - **数据导入失败**: 记录批量数据导入任务的失败 - **定时任务失败**: 记录定时执行任务的失败情况 - **API调用失败**: 记录第三方API调用任务的失败 - **消息推送失败**: 记录消息推送任务的失败详情 ## 关联关系 ### 主要关联表 - **school_sys_cron_task**: 定时任务表,可能产生失败的定时任务记录 - **school_sys_notice_log**: 通知发送日志表,通知发送失败时的记录 - **school_sys_notice_sms_log**: 短信发送日志表,短信发送失败时的记录 - **school_service_logs**: 服务日志表,记录相关的服务执行日志 - **school_sys_export**: 导出任务表,导出任务失败时的记录 - **school_pay**: 支付表,支付相关任务失败时的关联 - **school_sys_log**: 系统日志表,记录相关的系统操作日志 ### 关联说明 - 作为系统任务队列的失败记录存储,与各业务模块的异步任务关联 - 通过queue字段标识不同类型的任务队列 - 通过payload字段保存任务的完整上下文信息 - 为任务重试和错误恢复提供数据支持 ## 索引建议 ```sql -- 主键索引(自动创建) PRIMARY KEY (id) -- 队列索引(用于按队列查询失败任务) INDEX idx_queue (queue(100)) -- 连接索引(用于按连接查询失败任务) INDEX idx_connection (connection(100)) -- 失败时间索引(用于按时间排序和清理) INDEX idx_fail_time (fail_time) -- 复合索引(队列和时间) INDEX idx_queue_time (queue(50), fail_time) ``` ## 注意事项 - **数据清理**: 定期清理过期的失败任务记录,避免表数据过大 - **异常信息长度**: exception字段可能包含很长的错误堆栈信息 - **载荷数据安全**: payload字段可能包含敏感信息,需要注意数据安全 - **存储空间**: longtext字段会占用较大存储空间,需要监控表大小 - **查询性能**: 大量数据时需要注意查询性能,合理使用索引 - **重试机制**: 建立合理的任务重试机制,避免无限重试 - **监控告警**: 建立失败任务的监控和告警机制 - **错误分类**: 对不同类型的错误进行分类处理 - **日志关联**: 与系统日志建立关联,便于问题追踪 - **备份策略**: 重要的失败任务记录需要建立备份策略 - **权限控制**: 严格控制对失败任务记录的访问权限 - **数据分析**: 定期分析失败任务的模式,优化系统稳定性