У меня есть работа, которая будет выполняться каждые 10 минут.Я не хочу использовать Spring Scheduler, основываясь на последнем запуске задания, следующее задание будет запущено по расписанию.Предположим, что первое задание выполняется в 10:15, последующее задание должно быть выполнено в 10:25.Когда я гуглил, я видел сообщения с nextExecutionTime
.Когда я использую nextExecutionTime
, моя последующая работа выполняется в 10:20 вместо 10:25.Ниже приведен мой код. Может ли кто-нибудь дать представление о том, как я могу выполнить свою работу точно через 10 минут после последнего запуска.
CronTrigger trigger = new CronTrigger("0 0/10 * * * ?");
SimpleTriggerContext triggerContext = new SimpleTriggerContext();
triggerContext.update(Date.from(ZonedDateTime.now().toInstant()), Date.from(ZonedDateTime.now().toInstant()), Date.from(ZonedDateTime.now().toInstant()));
Date nextFireAt = trigger.nextExecutionTime(triggerContext);
System.out.println(nextFireAt);