corn表達式
時間格式: <!-- s m h d m w(?) y(?) -->, 分別對應: 秒>分>小時>日>月>周>年,
●星號(*):可用在所有字段中,表示對應時間域的每一個時刻,例如,*在分鐘字段時,表示“每分鐘”;
●問號(?):該字符只在日期和星期字段中使用,它通常指定爲“無意義的值”,相當於點位符;
●減號(-):表達一個範圍,如在小時字段中使用“10-12”,則表示從10到12點,即10,11,12;
●逗號(,):表達一個列表值,如在星期字段中使用“MON,WED,FRI”,則表示星期一,星期三和星期五;
●斜槓(/):x/y表達一個等步長序列,x爲起始值,y爲增量步長值。如在分鐘字段中使用0/15,則表示爲0,15,30和45秒,而5/15在分鐘字段中表示5,20,35,50,你也可以使用*/y,它等同於0/y;
名稱 | 是否必須 | 允許值 | 特殊字符 |
秒 | 是 | 0-59 | , - * / |
分 | 是 | 0-59 | , - * / |
時 | 是 | 0-23 | , - * / |
日 | 是 | 1-31 | , - * ? / L W C |
月 | 是 | 1-12 或 JAN-DEC 不區分大小寫 | , - * / |
周 | 是 | 1-7 或 SUN-SAT 不區分大小寫 | , - * ? / L C # |
年 | 否 | 空 或 1970-2099 | , - * / |
L 字母 L 說明了某域上允許的最後一個值。它僅被日和周域支持。當用在日域上,表示的是在月域上指定的月份的最後一天
當 L 字母用於周域上,指示着周的最後一天,就是星期六 (或者數字7),你可以用一個數字與 L 連起來表示月份的最後一個星期 X。例如,表達式 0 0 12 ? * 2L 說的是在每個月的最後一個星期一
月:Month 取值爲 0-11,或者 JAN,FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
W 字母 W 字符代表着平日 (Mon-Fri)[1-7/SUN, MON, TUE, WED, THU, FRI, SAT],並且僅能用於日域中。它用來指定離指定日的最近的一個平日。大部分的商業處理都是基於工作周的,所以 W 字符可能是非常重要的。例如,日域中的15W 意味着 "離該月15號的最近一個平日。" 假如15號是星期六,那麼 trigger 會在14號(星期五)觸發,因爲星期四比星期一(這個例子中是17號)離15號更近。(譯者Unmi注:不會在17號觸發的,如果是15W,可能會是在14號(15號是星期六)或者15號(15號是星期天)觸發,也就是隻能出現在鄰近的一天,如果15號當天爲平日直接就會當日執行)。W只能用在指定的日域爲單天,不能是範圍或列表值。
# 井號 # 字符僅能用於周域中。它用於指定月份中的第幾周的哪一天。例如,如果你指定周域的值爲6#3或 FRI#3,它意思是某月的第三個週五 (6=星期五,#3意味着月份中的第三週)。
另一個例子2#1意思是某月的第一個星期一 (2=星期一,#1意味着月份中的第一週)。注意,假如你指定#5,然而月份中沒有第 5 周,那麼該月不會觸發。
例如:
格式: [秒] [分] [小時] [日] [月] [周] [年]
0 0 12 * * ? 每天12點觸發 (一般是6位,最後一位[年]爲空)
simple模式:
<!—(必填)任務執行次數.-1表示無限次執行; 3表示執行3次-->
<repeat-count>3</repeat-count>
<!—(必填)任務觸發間隔(毫秒),1000表示每1秒執行一次-->
<repeat-interval>1000</repeat-interval>