我正在 Thorntail 中编写一个计划任务,该任务将运行很长时间(大约 30 分钟)。但是,Thorntail 似乎将执行时间限制为 30 秒。
我的代码如下所示(我删除了我认为不相关的代码):
@Singleton
public class ReportJobProcessor {
@Schedule(hour = "*", minute = "*/30", persistent = false)
public void processJobs() {
// Acquire a list of jobs
jobs.forEach(this::processJob);
}
private void processJob(ReportJob job) {
// A long running process
}
}
30 秒后,我在日志中看到以下内容:
2019-10-01 16:15:14,097 信息 [org.jboss.as.ejb3.timer](EJB 默认 - 2)WFLYEJB0021:计时器:[id=...timedObjectId=...自动计时器?:真持久?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@42478b98 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Tue Oct 01 16:20:00 CEST 2019 timerState=IN_TIMEOUT info=null]重试
又过了 30 秒,由于作业仍未完成,引发异常。
我不知道如何增加超时,谷歌搜索我的问题没有任何帮助。
如何将超时时间增加到 30 秒以上?