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分鐘都會觸發
* 表示所有值,例如:在小時上設定*,表示每小時都會觸發
/ 用於遞增觸發,如在秒上面設定"5/15" 表示從5秒開始,每增15秒觸發(5,20,35,50)
? 表示不指定值。使用的場景為不需要關心當前設定這個欄位的值。
例如:要在每月的10號觸發乙個操作,但不關心是週幾,所以需要周位置的那個字段設定為"?"
具體設定為 0 0 0 10 * ?
//不指定就是所有值都可以,有時與*是一樣的意思
關於怎麼讀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 * * ?
quartz定時任務
此檔案被包含在spring配置檔案中,其中 引數 的值遵循如下規則 0 0 12 每天中午12點觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 2005 2005年的每天上午10 15觸發 0 14 在每天...
Quartz定時任務
排程器 負責時間監控,如果任務到了指定時間則呼叫器開始工作.觸發器 當排程器執行任務時,會呼叫觸發器開啟執行緒完成任務.job 定時任務統稱.jobdetail 定時任務的具體的細節 呼叫過程 新建立定時任務.將任務交給排程器管理 呼叫器負責監控時間,當到了指定的時間後.呼叫觸發器開啟新的執行緒去完...
quartz定時任務
以下 案例是基於spring boot框架。定義乙個定時任務,我們需要明白這個定時任務是要我們做什麼,什麼時候做。1.配置定時時間。在yml配置檔案中配置定時任務的時間。test singledef syncfilecron 0 0 7 時間配置依次是秒分時日月年,具體配置這裡不就詳細解釋了。2.配...