2015-03-17 2 views
0

Я использую планировщик Quartz 2 для планирования задач. Вот что мне нужно.Запланированная задача запускать каждые 3 дня в заданное время

  1. планировать работу, когда пользователь нажимает кнопку.
  2. Работу следует планировать в 8 часов утра каждые 3 дня.

Ниже приводится порядок его кодирования. Он будет выполнять (с планировщиком, конечно), когда пользователь нажимает на кнопку в веб-приложение)

Trigger passportTrigger1 = newTrigger() 
       .withIdentity(passportTriggerKey1) 
       .withSchedule(simpleSchedule().withIntervalInHours(3*24).repeatForever()) 
       .startAt(todayAt(8,0,0)).build(); 

Однако вы можете видеть, что я использовал startAt(todayAt(8,0,0)). Что произойдет, если пользователь включил планировщик после 8.00 часов сегодня? Задание будет запланировано немедленно или оно никогда не будет запланировано?

ответ

1

Вы также можете проверить текущее время: если до 8 утра startAt(todayAt(8, 0, 0) еще startAt(tomorrowAt(8, 0, 0)).

Смежные вопросы