Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creation of a trigger of type CalendarIntervalTrigger #90

Open
fabioformosa opened this issue Nov 19, 2022 · 1 comment
Open

Creation of a trigger of type CalendarIntervalTrigger #90

fabioformosa opened this issue Nov 19, 2022 · 1 comment

Comments

@fabioformosa
Copy link
Owner

fabioformosa commented Nov 19, 2022

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
@fabioformosa
Copy link
Owner Author

fabioformosa commented Dec 3, 2022

Trigger Structure:

  • job (class, jobData,
  • jobData
  • start/end
  • schedule: simpleScheduler, calendarScheduler, cronScheduler, DailyTime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

No branches or pull requests

1 participant