定時任務quartz

2022-05-02 09:39:10 字數 1530 閱讀 7983

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.配...