Запланируйте пакетное задание Java с интервалом с последней даты окончания

Я написал свою работу с помощью jsr-352 и развернул ее на wildfly. Как я могу запланировать одну работу с некоторой задержкой после последнего времени окончания, как показано ниже, где = время выполнения и - время задержки:

===============--=====--========--

Примечание: максимальное количество выполненных работ - один

1 ответ

JBeret ejb scheduler поддерживает повторяющиеся интервальные выполнения задания с фиксированной длительностью или определенной продолжительностью задержки после начала выполнения задания. Задержка после завершения выполнения задания в настоящее время не поддерживается. Если продолжительность выполнения вашей работы относительно предсказуема, вы можете приблизить ее с интервалом или задержкой после начала выполнения задания.

Чтобы добиться такого рода планирования работы с более точным контролем, вы можете попробовать следующее:

  • планировать график работы с одним действием
  • настройте прослушиватель задания в job.xml, чтобы следить за окончанием выполнения вышеуказанного задания, и планируйте выполнение следующего задания с одним действием с небольшой начальной задержкой
  • в частности, работа слушателя afterJob() метод должен иметь возможность искать или вводить TimerSchedulerBean, который является локальным одноэлементным EJB, и вызывает его org.jberet.schedule.TimerSchedulerBean#schedule метод. Слушатель задания отвечает за создание экземпляра org.jberet.schedule.JobScheduleConfig, передавая его при вызове бизнес-метода ejb. Слушатель работы должен уже иметь всю информацию для создания JobScheduleConfig,
Другие вопросы по тегам