Custom Scheduling
Overview
Swivel uses a specific scheduling syntax for several of its jobs. On most screens, they are in a user-friendly format with a drop-down menu, but they may still be customised for specific requirements. This document covers the customised format.
Custom Scheduling
A cron expression is a string comprised of 6 or 7 fields separated by white space. The 6 mandatory and 1 optional fields are as follows:
Field Name |
Seconds |
Minutes |
Hours |
Day-of-month |
Month |
Day-of-week |
Year (Optional) |
|---|---|---|---|---|---|---|---|
Allowed Values |
0-59 |
0-59 |
0-23 |
1-31 |
1-12 or JAN-DEC |
1-7 or SUN-SAT |
1970-2099 |
Allowed Special Characters |
|
|
|
|
|
|
|
Special Characters
* : Used to specify all values. For example, “*” in the minute field means “every minute”.
? : Allowed for the day-of-month and day-of-week fields. It specifies ‘no specific value’. Use this when you need to specify something in one of the two fields, but not the other.
- : Used to specify ranges. For example “10-12” in the hour field means “the hours 10, 11 and 12”.
, : Used to specify additional values. For example “MON,WED,FRI” in the day-of-week field means “the days Monday, Wednesday, and Friday”.
/ : Used to specify increments. For example “0/15” in the seconds field means “the seconds 0, 15, 30, and 45”. And “5/15” in the seconds field means “the seconds 5, 20, 35, and 50”. Specifying ‘*’ before the ‘/’ is equivalent to starting at 0. Note: “7/6” in the month field only turns on month “7”, it does NOT mean every 6th month.
- LAllowed for the day-of-month and day-of-week fields. Short-hand for “last”.
In day-of-month: “the last day of the month” (day 31 for Jan, 28 for Feb non-leap).
In day-of-week: “7” or “SAT”.
In day-of-week after another value: “the last xxx day of the month” - e.g., “6L” means “the last Friday of the month”.
Warning: Do not specify lists or ranges when using ‘L’.
- WAllowed for the day-of-month field. Specifies the weekday (Monday-Friday) nearest the given day. E.g., “15W” means “the nearest weekday to the 15th of the month”.
If the 15th is Saturday, it fires on Friday the 14th.
If the 15th is Sunday, it fires on Monday the 16th.
It will not ‘jump’ over month boundaries (e.g., “1W” where the 1st is Saturday will fire on Monday the 3rd).
Note: ‘W’ can only be used when the day-of-month is a single day.
LW : “Last weekday of the month”.
- #Allowed for the day-of-week field. Specifies “the nth” XXX day of the month.
“6#3” = the third Friday of the month (Day 6 = Friday, #3 = 3rd occurrence).
“2#1” = the first Monday.
“4#5” = the fifth Wednesday.
- CAllowed for the day-of-month and day-of-week fields. Short-hand for “calendar”. Values are calculated against the associated calendar. If no calendar is associated, it includes all days.
“5C” in day-of-month = “the first day included by the calendar on or after the 5th”.
“1C” in day-of-week = “the first day included by the calendar on or after Sunday”.
Note
The legal characters and the names of months and days of the week are not case sensitive.
Examples
0 0 12 * * ?: Fire at 12pm (noon) every day0 15 10 ? * *: Fire at 10:15am every day0 15 10 * * ?: Fire at 10:15am every day0 15 10 * * ? *: Fire at 10:15am every day0 15 10 * * ? 2005: Fire at 10:15am every day during the year 20050 * 14 * * ?: Fire every minute starting at 2pm and ending at 2:59pm, every day0 0/5 14 * * ?: Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day0 0/5 14,18 * * ?: Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day0 0-5 14 * * ?: Fire every minute starting at 2pm and ending at 2:05pm, every day0 10,44 14 ? 3 WED: Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.0 15 10 ? * MON-FRI: Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday0 15 10 15 * ?: Fire at 10:15am on the 15th day of every month0 15 10 L * ?: Fire at 10:15am on the last day of every month0 15 10 ? * 6L: Fire at 10:15am on the last Friday of every month0 15 10 ? * 6L 2002-2005: Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 20050 15 10 ? * 6#3: Fire at 10:15am on the third Friday of every month0 0 11 1-31/2 * ?: Fire on odd days at 11.000 0 11 2-31/2 * ?: Fire on even days at 11.00
Warning
Pay attention to the effects of ? and * in the day-of-week and day-of-month fields!