AgileApps Support Wiki Pre Release

Difference between revisions of "Cron Expression"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 19: Line 19:
|}
|}


;To define a cron expression: 
The asterisk (*) character specifies all values. For example, * in the minute field implies every minute.<br />
:* Specify a repetition interval in Quarz scheduler cron format:<br/>&nbsp; &nbsp; <tt>Secs Mins Hrs DayOfMon Mon DayOfWk Yr</tt><br/>where:
The question mark (?) character specifies the '''day-of-month''' field and '''day-of-week''' field. You can select only one field at a time.<br />
::* Values are separated by one or more spaces
The hyphen (-) character specifies the range. For example, 10-12 in the hour field implies the hours 10, 11 and 12.
::* Seconds, minutes, and hours are zero-based
::* Day and month values are <tt>1</tt>-based
::* Month can be specified as either <tt>1-12</tt> or <tt>JAN-DEC</tt>
::* Day of week can be specified as either <tt>1-7</tt> or <tt>SUN-SAT</tt>
::* Values can be specified as:
:::* <tt>?</tt> - Don't care
:::* <tt>*</tt> - All
:::* A ''range'' - Two values separated by a hyphen: <tt>0-3</tt> (first through fourth)
:::* An ''interval'' - A starting value an interval separated by a slash: <tt>0/5</tt> (zeroth and every fifth)
:::* A ''list'' - Multiple values separated by values: <tt>0,1,3-6,10/10</tt>
:::* ''Nearest weekday'' - Value followed by a "W": <tt>15W</tt>  
:::* ''Last'' - An "L" by itself (last day of month), or value followed by an "L": <tt>5L</tt> (last Friday)


{{Tip|To specify a scheduling end date, use a range. For example, to run a job for 3 months starting in April, specify month as APR-JUN. To run it for 2 years starting in 2010, specify year as 2010-2011. And so on.}}


;Example - <tt>10 * 13 1,14 * ? *</tt>
;Example - <tt>10 * 13 1,14 * ? *</tt>

Revision as of 08:18, 13 March 2017

A Cron expression is a syntax used to specify a repeating sequence of time. A Cron expression comprises of six mandatory fields and one optional field. All expressions are separated by a space. The fields are described in the following table:


Field name

Allowed values

Allowed special characters
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W
Month 1-12 or JAN-DEC , - * /
Day-of-Week 1-7 or SUN-SAT , - * ? / L #
Year (optional) empty, 1970-2199 , - * /

The asterisk (*) character specifies all values. For example, * in the minute field implies every minute.
The question mark (?) character specifies the day-of-month field and day-of-week field. You can select only one field at a time.
The hyphen (-) character specifies the range. For example, 10-12 in the hour field implies the hours 10, 11 and 12.


Example - 10 * 13 1,14 * ? *
Seconds = 10 (10 second)
Minutes = * (all)
Hours = 13 (1 pm)
Day of Month = 1,14 (First and fourteenth one-based)
Month = * (all)
Day of Week = ? (don't care)
Year (optional) = * (all)
Learn more: Quartz scheduler cron format
Class CronExpression