我的应用程序中有一个Spring @scheduled任务,该任务每2分钟启动一次。在某些情况下,任务永远不会回来,因此此后任务将无法执行。
@Scheduled(fixedDelay = ....)
private void task() {
}
是否为计划任务设置超时时间以强制其在一定时间后结束?
答案 0 :(得分:0)
也许您想使用固定费率而不是固定延迟:
@Scheduled(fixedRate = 1000)
private void task() {
}
使用固定费率时,任务执行的开始不会等待上一次执行的完成。还要考虑在业务逻辑内部使用Future
,以防止缓慢的任务长时间挂起。