cron表示式
cron表示式總共有7位,記憶口訣:秒分時天月,星期+年
還可以使用一些特殊符號:
*
:表示任意值。比如用於秒 (1號位)
,表示每一秒。取值範圍相當於0~59。比如* 38 16 * * ?
,表示在16:38分的這一分鐘裡每一秒都要執行。如果用於小時 (3號位)
,比如"16 10 * * * ?"
,相當於每個小時的10分16秒都要執行,一天執行24次。
?
:只能用於天 (4號位)
與星期幾(6號位)
,表示不確定的時間。比如下面的這個表示式0 0 2 1 * ?
,表示每個月的1號的凌晨兩點執行。6號位表示星期幾,因為每個月的1號是星期幾並不確定,所以就用?
替代,也是情理之中。
/
:表示按照固定時間觸發。比如下面的表示式0 0/5 2 1 * ?
表示每個月的1號的凌晨2:00執行,然後按照每5分鐘的頻率繼續執行,下次執行的時間是 2:05 , 2:10,2:15 。。。。,直到2:55最後一次執行
,下乙個月會重複此情況。
注意。"0/10 59 15 * * ?"
這種表示式指定了在15:59分執行,在15:59開始的這一分鐘內,每10秒執行一次。但是到了16:00就會停止執行。它只會在15:59這一分鐘內按照10秒一次的執行頻率執行。
同理,"0 57/1 16 * * ?"
,它只能在16點到17點之內迴圈執行,此表示式是16:57分開始執行,並且每分鐘執行一次,分別為16:57、16:58、16:59。到了今天17點就不再執行。明天會重複今天的執**況。
-
:表示乙個範圍。比如用到秒(1號位)
,"0-20 07 17 * * ?"
,表示17:07:00 立刻執行,直到17:07:20,共執行20次。
又例如用到分鐘 (2號位)
:0 15-18 17 * * ?
表示17點15分、17點16分、17點17分、17點18分執行,共執行4次。明天會重複今天的執**況。
,
:表示列舉。0 0 1,2,3 * * ?
表示每天凌晨1點、凌晨2點、凌晨3點執行,共執行3次。明天會重複今天的執**況。0 0/5 1,2,3,4 * * ?
,跟/
結合起來,此時表示每天凌晨1點到4點之間,每5分鐘執行一次。
l
::只能出現在天(4號位)
,表示最後一天、星期 (6號位)
,表示最後乙個星期,例如5l,意味著在最後的乙個星期四觸發。(1=sunday)。0 15 10 l * ?
:每月最後一日的上午10:15觸發 。0 15 10 ? * 6l
每月的最後乙個星期五上午10:15觸發
Quartz定時任務排程框架
簡單使用步驟 1.首先匯入quartz相關依賴 dependency 2.第二步 定義乙個類實現job介面,重寫execute方法 author administrator public class testjob implements job 第三步定義乙個主方法類 這裡使用的觸發器是crontr...
任務排程框架(1)系統定時任務與JDK定時任務
參考linux 的crontab命令 windows 下面的計畫任務特點 例子public static void main string args 1000l,2000l timer.schedule new timertask catch interruptedexception e 乙個任務異...
Spring框架實現定時任務排程
在spring配置檔案中進行配置基本資訊 在xmlns中新增 xmlns task 在xsi中新增 spring task 3.2.xsd 然後是必須的一項,因為這個是spring提供的定時任務,所以需要進行掃瞄類下的包才能執行相應的操作 然後是設定定時任務 開始在測試類中寫測試 import or...