Исключить временные блоки в определенный день [Кварцевый график]

#quartz-scheduler

#quartz-планировщик

Вопрос:

Я использую Quart Scheduler. Я хочу запустить to таким образом, чтобы это исключало синхронизацию с xx: xx: xx по гг: гг: гг в указанный день (понедельник, пятница. воскресенье). Я знаю, как исключить определенный день. но не знаете, как не запускать данный временной блок в данный день?

Кто-нибудь может что-нибудь знать об этом?

Ответ №1:

Пожалуйста, используйте Calendar и HolidayCalendar, доступные в Quartz, для достижения этой цели. Выражение Cron в Cron-Trigger также может быть написано с умом для достижения этой цели.

Ответ №2:

Глядя на http://www.quartz-scheduler.org/docs/examples/Example3.html, кажется, что можно создать другой набор заданий для выполнения одной и той же задачи. К каждому заданию можно прикрепить расписание.

Если вы не хотите запускать определенную задачу, скажем, в воскресенье между 13:00 и 22:00, но хотите, чтобы она выполнялась в воскресенье до конца дня, тогда вы можете создать два задания [настроенных на выполнение одной и той же задачи]. Во-первых, укажите расписание с ограничениями по времени с 00:00 до 13:00. И для второго дайте ограничение по времени с 22:00 до 23:59.

Надеюсь, я правильно понял вашу проблему…

Комментарии:

1. это сработало бы нормально, но я хотел знать, есть ли какой-либо единственный способ, с помощью которого я могу назначить время в триггере?

2. Глядя на определение scheduleJob, оно принимает параметр типа Trigger. quartz-scheduler.org/docs/api/1.8.1/org/quartz/Trigger.html … Trigger — это абстрактный класс… Итак, возможно, если вам это действительно нужно, вы могли бы реализовать свой собственный пользовательский триггер …