Timers can be set according to a calendar-based schedule, expressed using a syntax similar to the UNIX cron utility. Both programmatic and automatic timers can use calendar-based timer expressions.
Table 16–1 Calendar-Based Timer Attributes
You can specify multiple values in calendar expressions in the following ways:
Setting an attribute to an asterisk symbol (*) represents all allowable values for the attribute.
The following expression represents every minute:
minute="*"
The following expression represents every day of the week:
dayOfWeek="*"
To specify two or more values for an attribute, use a comma (,) to separate the values. A range of values are allowed as part of a list. Wildcards and intervals, however, are not allowed.
Duplicates within a list are ignored.
The following expression sets the day of the week to Tuesday and Thursday:
dayOfWeek="Tue, Thu"
The following expression represents 4:00 AM, every hour from 9:00 AM to 5:00 PM using a range, and 10:00 PM:
hour="4,9-17,20"
Use a dash character (-) to specify an inclusive range of values for an attribute. Members of a range cannot be wildcards, lists, or intervals. If the range is of the form x-x, it is equivalent to the single-valued expression x. If the range is of the form x-y and x is greater than y, it is equivalent to the expression x-maximum value, minimum value-y. That is, the expression begins at x, rolls-over to the beginning of the allowable values, and continues up to y.
The following expression represents 9:00 AM to 5:00 PM:
hour="9-17"
The following expression represents Friday through Monday:
dayOfWeek="5-1"
The following expression represents the 25th day of the month to the end of the month, and the beginning of the month to the 5th day of the month:
dayOfMonth="25-5"
It is equivalent to the following expression:
dayOfMonth="25-Last,1-5"
The forward slash (/) constrains an attribute to a starting point and an interval. It is used to specify every N seconds, minutes, or hours within the minute, hour or day. For an expression of the form x/y, x represents the starting point and y represents the interval. The wildcard character may be used in the x position of an interval, and is equivalent to setting x to 0.
Intervals may only be set for second, minute, and hour attributes.
The following expression represents every 10 minutes within the hour:
minute="*/10"
It is equivalent to:
minute="0,10,20,30,40,50"
The following expression represents every two hours starting at noon:
hour="12/2"