问题描述:2月16日,业务人员向我报告2月14日的报表没有数据,检查发现2月14日定时任务未执行,无调度记录。2月15日该定时任务执行正常,2月14日其他定时任务也是执行正常。
先说结果,有人不喜欢看别人分析和日志,就想知道什么原因和怎么改。
出现这个问题的原因是网络波动导致的连接超时,没有办法改,只是刚好在你调度任务的时候网络出现异常导致调度没有成功。
分析:
找到执行器的日志,在日志原本应该执行的时间,发现报错连接超时。
admin的执行日志,任务调度失败。
xxljob的调度流程
https://www.cnblogs.com/wanghongsen/p/12510533.html
异常发生的时间流程:
02:34:40 executor抛出异常,与admin的socket连接超时
02:34:43 executor 3秒 超时异常时间到,触发重新建立链接
02:35:00 admin 扫描需要执行的任务 触发调度 发送请求给 executor,发送失败
02:35:05 admin 扫描需要执行的任务 触发调度 发送请求给 executor,发送失败
02:35:43 admin多次调用任务失败,跳过该任务,修改下次执行时间
02:35:43 executor,再次重新连接失败