CronTrigger

CronTrigger
CronTriggers往往比SimpleTrigger更有用,如果您需要基于日歷的概念,而非SimpleTrigger完全指定的時間間隔,復(fù)發(fā)的發(fā)射工作的時間表。
CronTrigger,你可以指定觸發(fā)的時間表如“每星期五中午”,或“每個工作日9:30時”,甚至“每5分鐘一班9:00和10:00逢星期一上午,星期三星期五“。
即便如此,SimpleTrigger一樣,CronTrigger擁有的startTime指定的時間表時生效,指定的時間表時,應(yīng)停止(可選)結(jié)束時間。

Cron Expressions
cron的表達(dá)式被用來配置CronTrigger實例。 cron的表達(dá)式是字符串,實際上是由七子表達(dá)式,描述個別細(xì)節(jié)的時間表。這些子表達(dá)式是分開的空白,代表:

  1.    Seconds
    
  2.    Minutes
    
  3.    Hours
    
  4.    Day-of-Month
    
  5.    Month
    
  6.    Day-of-Week
    
  7.    Year (可選字段)
    

例 "0 0 12 ? * WED" 在每星期三下午12:00 執(zhí)行,

個別子表達(dá)式可以包含范圍, 例如,在前面的例子里("WED")可以替換成 "MON-FRI", "MON, WED, FRI"甚至"MON-WED,SAT".

“*” 代表整個時間段.

每一個字段都有一套可以指定有效值,如

Seconds (秒) :可以用數(shù)字0-59 表示,

Minutes(分) :可以用數(shù)字0-59 表示,

Hours(時) :可以用數(shù)字0-23表示,

Day-of-Month(天) :可以用數(shù)字1-31 中的任一一個值,但要注意一些特別的月份

Month(月) :可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示

Day-of-Week(每周):可以用數(shù)字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示

“/”:為特別單位,表示為“每”如“0/15”表示每隔15分鐘執(zhí)行一次,“0”表示為從“0”分開始, “3/20”表示表示每隔20分鐘執(zhí)行一次,“3”表示從第3分鐘開始執(zhí)行

“?”:表示每月的某一天,或第周的某一天

“L”:用于每月,或每周,表示為每月的最后一天,或每個月的最后星期幾如“6L”表示“每月的最后一個星期五”

“W”:表示為最近工作日,如“15W”放在每月(day-of-month)字段上表示為“到本月15日最近的工作日”

““#”:是用來指定“的”每月第n個工作日,例 在每周(day-of-week)這個字段中內(nèi)容為"6#3" or "FRI#3" 則表示“每月第三個星期五”

1)Cron表達(dá)式的格式:秒 分 時 日 月 周 年(可選)。

           字段名                 允許的值                        允許的特殊字符  
           秒                         0-59                               , - * /  
           分                         0-59                               , - * /  
           小時                     0-23                               , - * /  
           日                         1-31                               , - * ? / L W C  
           月                         1-12 or JAN-DEC         , - * /  
           周幾                     1-7 or SUN-SAT           , - * ? / L C #  
           年 (可選字段)     empty, 1970-2099      , - * /



           “?”字符:表示不確定的值

           “,”字符:指定數(shù)個值

           “-”字符:指定一個值的范圍

           “/”字符:指定一個值的增加幅度。n/m表示從n開始,每次增加m

           “L”字符:用在日表示一個月中的最后一天,用在周表示該月最后一個星期X

           “W”字符:指定離給定日期最近的工作日(周一到周五)

           “#”字符:表示該月第幾個周X。6#3表示該月第3個周五





     2)Cron表達(dá)式范例:

             每隔5秒執(zhí)行一次:*/5 * * * * ?

             每隔1分鐘執(zhí)行一次:0 */1 * * * ?

             每天23點執(zhí)行一次:0 0 23 * * ?

             每天凌晨1點執(zhí)行一次:0 0 1 * * ?

             每月1號凌晨1點執(zhí)行一次:0 0 1 1 * ?

             每月最后一天23點執(zhí)行一次:0 0 23 L * ?

             每周星期天凌晨1點實行一次:0 0 1 ? * L

             在26分、29分、33分執(zhí)行一次:0 26,29,33 * * * ?

             每天的0點、13點、18點、21點都執(zhí)行一次:0 0 0,13,18,21 * * ?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容