【发布时间】:2020-10-20 01:54:45
【问题描述】:
我有大约 20 种预定的自动化方法。它们都运行良好,但几个小时后它们都停止了。
我的日志没有显示任何错误/服务器崩溃,就好像 spring boot 决定不再执行任何 @scheduled 方法一样。
我的第一个直觉是方法体中可能存在无限循环,但是,我所有的方法在开始和结束时都有记录器。也就是说,如果我们有一个无限循环,我的最终日志就不会是 [foo finished successfully]。
我什至创建了一个每 5 分钟打印一次的测试仪,几个小时后,该功能和所有其他功能也停止了。
我的第二个直觉是检查文件大小,因为可能文件大小太大而记录器刚刚停止登录文件,不知何故这使得自动化停止(在这一点),但由于自动化只运行了几个小时,文件大小只有~1200kb,所以这不是问题。
基本上,由于我的记录器的设置方式,我不认为某处存在无限循环,我的日志中没有收到任何错误消息,我不知道如何调试。
我试图包含尽可能多的有用信息,如果有不清楚/遗漏的地方,请告诉我。
除此之外,关于如何调试或可能导致此问题的任何想法?
【问题讨论】:
-
没有看到你的配置很难说。但是,我建议检查您的内存和可用线程的数量。我有一种感觉,你不能再构造线程(并且正在使用“错误”
TaskScheduler),因此症状是不再执行。
标签: java spring spring-boot scheduled-tasks