问题
I am developing an application that gives the user the ability to schedule some activity. Inputs that are provided by user are
- Value of N
- Option amongst Hour/Day/Week/Month
- Start Date
- Start Time
I am unable to get the cron expressions right for each of the repeat interval type i.e. Hour/Day/Week/Month so that the trigger time is calculated from the start date.
回答1:
Quartz documentation suggests using a SimpleTrigger http://www.quartz-scheduler.org/docs/cookbook/BiDailyTrigger.html, an example for every other day:
Trigger trigger = new SimpleTrigger("trigger1", "group1");
trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
// 24 hours * 60(minutes per hour) * 60(seconds per minute) * 1000(milliseconds per second)
trigger.setRepeatInterval(2L * 24L * 60L * 60L * 1000L);
Note that you will need to set the trigger start time and the misfire rule.
回答2:
I think is a good start of how to configure triggers:
http://www.opensymphony.com/quartz/wikidocs/CronTriggers%20Tutorial.html
来源:https://stackoverflow.com/questions/1629078/quartz-cron-expression-for-cron-triggers-executed-every-nth-hour-day-week-month