Skip to main content

CRON expressions

The cron expression is comprised of 6 or 7 fields separated by spaces, e.g.

MINUTE HOUR DOM MONTH DOW YEAR [TZ]

Minute

The minute field represents the minute of the hour that you want to run the process, it can take one of the following forms:

  • A specific minute, e.g. 20
  • A list of minutes, e.g. 20,25,30
  • A range of minutes, e.g. 20-30 - this will fire every minute between 20 and 30 inclusive
  • An increment, e.g. 0/15 which fires every 15 minutes from 0, e.g. 0, 15, 30, 45
  • A * if every minute of the hour
note

From the April 2024 release - the minute entered relates to the minute in the selected timezone

Hour

The hour field represents the hour of the day that you want to run the process, it can take one of the following forms:

  • A specific hour, e.g. 10
  • A list of hours, e.g. 10,12
  • A range of hours, e.g. 10-12 - this will fire at 10, 11 and 12
  • An increment, e.g. 0/4 which fires every 4 hours from 0, e.g. 0, 4, 8, 12, 16, 20
  • A * for every hour of the day
note

From the April 2024 release - the hour entered relates to the hour in the selected timezone

DOM

The dom field represents the day of the month that you want to run the process, it can take one of the following forms:

  • A specific day of the month, e.g. 15
  • The closest weekday to a specific day of the month, e.g. 15W - if the 15th day falls on a Saturday, the process is fired on Friday 14th, if the 15th falls on a Sunday, the process is fired on Monday 16th
  • A list of days, e.g. 5, 15, 20
  • A range of days, e.g. 10-12 - this will fire on the 10th, 11th and 12th of the month
  • An increment, e.g. 1/10 which fires on the 1st, 11th, 21st and 31st
  • A * for every day of the month
  • A ? for any day of the month, DOW will decide which days the process will fire on
  • An L for the last day of the month

Month

The month field represents the month of the year that you want to run the process, it can take one of the following forms:

  • A specific month, e.g. 5 for May
  • A list of months, e.g. 5,6,7
  • A range of months, e.g. 5-7 - this will fire in months 5,6 and 7
  • An increment, e.g. 1/3 which fires in Jan, Apr, Jul and Oct
  • A * for every month

DOW

The dow field represents the day of the week that you want to run the process, it can take one of the following forms:

  • A specific day defined in text as one of SUN, MON, TUE, WED, THU, FRI or SAT
  • A list of days, e.g. MON,TUE,WED
  • A range of days, e.g. MON-FRI
  • A * for every day of the week
  • A ? for any day of the week
  • An L for the last day of the week, e.g. Saturday
  • A specific day of a week of the month with 0=Sunday, e.g. 1#1 is the 1st Monday of the month
  • A list of specific dow#week in the month e.g. 1#1,1#3 which is the 1st and 3rd Monday of the month

Year

The year field represents the year that you want to run the process, it can take one of the following forms:

  • A specific year, e.g. 2021
  • A list of years, e.g. 2021,2022
  • A range of years, e.g. 2020-2030
  • A * for every year

Timezone

The optional tz field represents the timezone used for schedule, it can be one of the following:

  • UTC - Universal Coordinated Time - no DST
  • EU1 - UK and Portugal - DST
  • EU2 - Most of Western Europe - DST

DST handling

March DST - missing hour

Makes sure filter checks for missing hour during cron executions made for the following hour

e.g. EU2 DST misses 02:00, so for all requests between 03:00 and 03:59 on march DST day, check for schedules in hour 02:00 to 02:59 also

October DST - additional hour

Skip all requests in the repeated DST hour, unless the hour is specified as '*'

e.g. EU2 DST repeats 02:00, so during the second 02:00 DST hour, ignore any EU2 02:00-02:29 scheduled tasks