Skip to content

Creation of a trigger of type CalendarIntervalTrigger #90

@fabioformosa

Description

@fabioformosa

The differences with respect to a SimpleTrigger are:

  • In a SimpleTrigger the interval unit is always mills. Whereas a CalendarIntervalTrigger can fire each day, week, month, year.

###CalendarIntervalTrigger CalendarIntervalTrigger
It will occur at the given time, and repeat at the the given interval until the given end time.
Params:
startTime – A Date set to the time for the Trigger to fire.
endTime – A Date set to the time for the Trigger to quit repeat firing.
intervalUnit – The repeat interval unit (minutes, days, months, etc).
repeatInterval – The number of milliseconds to pause between the repeat firing.


http://www.quartz-scheduler.org/api/2.3.0/index.html

Types of trigger:

  • SimpleTrigger
  • CalendarIntervalTrigger
  • CronTrigger
  • DailyTimeIntervalTrigger

Simple Trigger

It can:

  • occur immediately and not repeat
  • occur immediately, and repeat at the the given interval the given number of times
    params: repeatCount, repeatCount
  • occur at the given time, and not repeat
    params: startTime
  • occur at the given time and repeat at the the given interval the given number of times, or until the given end time
    Params:
    startTime – A Date set to the time for the Trigger to fire.
    endTime – A Date set to the time for the Trigger to quit repeat firing.
    repeatCount – The number of times for the Trigger to repeat firing, use REPEAT_INDEFINITELY for unlimited times.
    repeatInterval – The number of milliseconds to pause between the repeat firing

http://www.quartz-scheduler.org/api/2.3.0/index.html

CalendarIntervalTrigger

It will occur at the given time, and repeat at the the given interval until the given end time.
Params:
startTime – A Date set to the time for the Trigger to fire.
endTime – A Date set to the time for the Trigger to quit repeat firing.
intervalUnit – The repeat interval unit (minutes, days, months, etc).
repeatInterval – The number of milliseconds to pause between the repeat firing.

CronTrigger

The fire time is dictated by the cronExpression resolved with respect to the specified timeZone occurring from the startTime until the given endTime.
If null, the start-time will also be set to the current time. If null, the time zone will be set to the system's default.
Params:
StartTime – A Date set to the earliest time for the Trigger to start firing.
endTime – A Date set to the time for the Trigger to quit repeat firing.
cronExpression – A cron expression dictating the firing sequence of the Trigger
timeZone – Specifies for which time zone the cronExpression should be interpreted, i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone.

DailyTrigger

It will occur at the given time, and repeat at the the given interval until the given end time.
Params:
startTime – A Date set to the time for the Trigger to fire.
endTime – A Date set to the time for the Trigger to quit repeat firing.
startTimeOfDay – The TimeOfDay that the repeating should begin occurring.
endTimeOfDay – The TimeOfDay that the repeating should stop occurring.
intervalUnit – The repeat interval unit. The only intervals that are valid for this type of trigger are DateBuilder.IntervalUnit.SECOND, DateBuilder.IntervalUnit.MINUTE, and DateBuilder.IntervalUnit.HOUR.
repeatInterval – The number of milliseconds to pause between the repeat firing.


Common Params

  • startTime: (optional) A Date set to the time for the Trigger to fire. If it's not provided, trigger fires immediately
  • dateTime: (optional) A Date set to the time for the Trigger to quit repeat firing.

Specific Params

  • Interval:
    • Unit Time + Value (simpleTrigger + calendarIntervalTrigger + dailyTrigger)
    • Cron (cronTrigger)
    • Recurring (cronTrigger): atHourAndMinuteOnGivenDaysOfWeek, monthlyOnDayAndHourAndMinute, weeklyOnDayAndHourAndMinute, dailyAtHourAndMinute
  • Interval Options:
    • DayTime (dailyTrigger), OnDayOfWeek (dailyTrigger)
    • preserveHourOfDayAcrossDaylightSavings (cronTrigger)
    • skipDayIfHourDoesNotExist (cronTrigger)
  • Misfire policy: can differ according to the trigger type

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions