1.所謂定時任務就是週期性的去觸發(執行)任務,定時任務的寫法有不少種,改天再寫
這裏介紹定時任務quartz中cron表達式
這些星號由左到右按順序表明 : * * * * * * *
格式: [秒] [分] [小時] [日] [月] [周] [年]
序號 說明 是否必填 容許填寫的值 容許的通配符
1 秒 是 0-59 - * /
2 分 是 0-59 - * /
3 時 是 0-23 - * /
4 日 是 1-31 - * ? / L W
5 月 是 1-12 or JAN-DEC - * /
6 周 是 1-7 or SUN-SAT - * ? / L #
7 年 否 empty 或 1970-2099 - * /
年這個值能夠爲空,先不用管,先說說各通配符號的意思:
L W #用的比較少,用到的時候,我在來補充定時任務
- 表示區間,例如在小時上設置 "10-12",表示10,11,12點都會觸發
, 表示指定多個值,在小時上設置10,11,12,表示10,11,12點都會觸發
具體的數字,在分鐘上設置10,表示每小時的10分鐘都會觸發qq
* 表示全部值,例如:在小時上設置*,表示每小時都會觸發
/ 用於遞增觸發,如在秒上面設置"5/15" 表示從5秒開始,每增15秒觸發(5,20,35,50)生成器
? 表示不指定值。使用的場景爲不須要關心當前設置這個字段的值。
例如:要在每個月的10號觸發一個操做,但不關心是周幾,因此須要周位置的那個字段設置爲"?"
具體設置爲 0 0 0 10 * ?
//不指定就是全部值均可以,有時與*是同樣的意思co
經常使用示例:
0 0 12 * * ? 天天12點觸發
0 15 10 ? * * 天天10點15分觸發
0 15 10 * * ? 天天10點15分觸發
0 * 14 * * ? 天天下午的2點到2點59分每分觸發
0 0/5 14 * * ? 天天下午的2點到2點59分(整點開始,每隔5分觸發)
0 0/5 14,18 * * ?
天天下午的2點到2點59分(整點開始,每隔5分觸發)
天天下午的18點到18點59分(整點開始.每隔5分觸發)
0 0-5 14 * * ? 天天下午的2點到2點05分每分觸發
0 15 10 15 * ? 每個月15號上午10點15分觸發
0 11 11 11 11 ? 每一年的11月11號 11點11分觸發(光棍節)
這裏有個cron表達式在線生成器:http://cron.qqe2.com/quartz
關於怎麼讀cron表達式:
例子:
0 30 0 * * ?
0 30/1 0 * * ?
首先確定是從後往前讀嘛,讀到*或者?就表示它的週期性是什麼
如上
第一個表示天天0點30分觸發
第二個表示天天0點30分觸發,/表示增長,這裏表示每增長1分再觸發,
就是天天從0點30分開始,每隔1分就觸發,到0點59分截止,由於時字段是0,必須在0點之內,這裏不是*
如今說使用場景,寫表達式:
1.天天0點觸發
0 0 0 * * ?
2.天天0-12點,每隔1小時觸發
0 0 0-12 * * ?數字