2012-12-20 8 views
5

muszę utworzyć zadanie, które będzie:Quartz - rozkład pracy co dwa tygodnie na kilka dni tygodnia i godziny

  • uruchamia jeden 20.12.2012
  • endDate = 12/31/2017
  • pojawi się co 2 tygodnie w niedzielę i poniedziałek
  • pożary o 17.00.

czy to wyrażenie cron jest prawidłowe?

Date start = 12/20/2012; 
Date endDate = 12/31/2017; 
SimpleTrigger trigger = newTrigger() 
    .withIdentity("trigger3", "group1") 
    .startAt(startDate) 
    .withSchedule(cronSchedule("* * 17 0 0/2 *,SUN,MON").build()) 
    .endAt(endDate) 
    .build; 

Proszę doradzić.

+1

myślę * * 17 * 0 0/2, słońce, MON – Mukus

+0

Aby skonfigurować zadanie cron, które ma się pojawić o godzinie 17.00 w każdą niedzielę i poniedziałek, wynosi 0 17 * * 0,1, gdzie 0 = minuty, 17 = godziny, * = dzień miesiąca, * = miesiąc, 0,1 = niedziela, poniedziałek lub dzień tygodnia z niedzielą jako 0 i sobotą jako 7. Nie mogę wymyślić, jak ustawić to co dwa tygodnie. Nie sądzę, aby można było wykorzystać dzień miesiąca i dzień tygodnia w tym samym czasie. To może nie być prawda. – Mukus

+0

Czy byłeś w stanie wymyślić ten jeden? Czy użyłeś innego narzędzia, aby to osiągnąć? – user2023507

Odpowiedz

1

Sugeruję, aby wykonać test jednostkowy oparty na wyrażeniu cron. Z Kudos do Van de Voorde Toni można oprzeć go na ten kod i użyć go do zweryfikowania, że ​​„nextValidTimeAfter” dopasowuje swoje oczekiwania:

import java.text.ParseException; 
import java.util.Date; 

import org.quartz.CronExpression; 

public class CronTester { 

    public static void main(String[] args) throws ParseException { 
     final String expression = "* * 17 0 0/2 *,SUN,MON"; 
     final CronExpression cronExpression = new CronExpression(expression); 

     final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date()); 
     final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1); 

     System.out.println(nextValidDate1); 
     System.out.println(nextValidDate2); 

    } 
} 
+0

to wyrażenie cron jest nieprawidłowe. wypróbuj go na cronMaker.com –

Powiązane problemy