Spring 计划任务在春季未按时运行
我使用@Schedule让系统在不同的时间运行任务。但最近,我发现有些任务被推迟了。例如,有一项任务应该在每天早上5:00运行,现在有时在中午甚至下午晚些时候运行。有什么想法吗?谢谢 计划程序服务:Spring 计划任务在春季未按时运行,spring,cron,Spring,Cron,我使用@Schedule让系统在不同的时间运行任务。但最近,我发现有些任务被推迟了。例如,有一项任务应该在每天早上5:00运行,现在有时在中午甚至下午晚些时候运行。有什么想法吗?谢谢 计划程序服务: @Service public class DailyReminderTasks extends AbstractTask { private final static Logger logger = LoggerFactory .getLogger(DailyReminderTa
@Service
public class DailyReminderTasks extends AbstractTask {
private final static Logger logger = LoggerFactory
.getLogger(DailyReminderTasks.class);
private SendAuditReminderNotificationSerivce sendAuditReminderNotificationSerivce;
@Scheduled(cron = "0 0 5 * * ?")
// run at 5:00 am every day
public void sendAuditReponseReminderLetter() {
try {
sendAuditReminderNotificationSerivce.sendAuditReponseReminder();
} catch (Exception ex) {
logger.error("failed to send reminder: ", ex);
}
}
public SendAuditReminderNotificationSerivce getSendAuditReminderNotificationSerivce() {
return sendAuditReminderNotificationSerivce;
}
@Autowired(required = true)
public void setSendAuditReminderNotificationSerivce(
SendAuditReminderNotificationSerivce sendAuditReminderNotificationSerivce) {
this.sendAuditReminderNotificationSerivce = sendAuditReminderNotificationSerivce;
}
根据此处提供的信息,最有可能的解释是后台线程池处理任务调度没有跟上进度,因此从将任务放入队列到执行任务之间,可能会经过许多小时。您的任务运行时间会超过24小时吗?您的代码中是否有许多其他的@预定的注释?没有这些信息,很难说。另外,我相信这与
quartz调度器
无关,除非您有额外的配置。我没有任务运行超过24小时。我有很多@Scheduled注释,可以在不同的时间安排不同的任务。我没有石英调度器的额外配置。谢谢,有什么解决办法吗?谢谢