1.1.1 啟動類配置
@enableeurekaclient
@enablefeignclients
@enablescheduling //啟用定時任務註解生效
public static void main(string args)
@bean
public idworker idworker()}
一會兒我們採用spring的定時任務定時將符合參與秒殺的商品查詢出來再存入到redis快取,所以這裡需要使用到定時任務。
1)在定時任務類的指定方法上加上@scheduled開啟定時任務
2)定時任務表示式:使用cron屬性來配置定時任務執行時間
1.1.2 定時任務方法配置
建立com.changgou.seckill.timer.seckillgoodspushtask類,並在類中加上定時任務執行方法,**如下:
@component
public class seckillgoodspushtask
}
1.1.3 定時任務常用時間表示式
crontrigger配置完整格式為: [秒][分] [小時][日] [月][周] [年]
序號說明
是否必填
允許填寫的值
允許的萬用字元1秒
是0-59
, - * /2分
是0-59
, - * /3小時
是0-23
, - * /4日
是1-31
, - * ? / l w5月
是1-12或jan-dec
, - * /6周
是1-7或sun-sat
, - * ? / l w7年
否empty 或1970-2099
, - * /
使用說明:
萬用字元說明:
* 表示所有值. 例如:在分的字段上設定 "*",表示每一分鐘都會觸發。
? 表示不指定值。使用的場景為不需要關心當前設定這個欄位的值。
例如:要在每月的10號觸發乙個操作,但不關心是週幾,所以需要周位置的那個字段設定為"?" 具體設定為 0 0 0 10 * ?
- 表示區間。例如 在小時上設定 "10-12",表示 10,11,12點都會觸發。
, 表示指定多個值,例如在周字段上設定 "mon,wed,fri" 表示周一,週三和周五觸發 12,14,19
/ 用於遞增觸發。如在秒上面設定"5/15" 表示從5秒開始,每增15秒觸發(5,20,35,50)。 在月字段上設定'1/3'所示每月1號開始,每隔三天觸發一次。
l 表示最後的意思。在日字段設定上,表示當月的最後一天(依據當前月份,如果是二月還會依據是否是潤年[leap]), 在周字段上表示星期六,相當於"7"或"sat"。如果在"l"前加上數字,則表示該資料的最後乙個。例如在周字段上設定"6l"這樣的格式,則表示「本月最後乙個星期五"
w 表示離指定日期的最近那個工作日(周一至周五). 例如在日字段上設定"15w",表示離每月15號最近的那個工作日觸發。如果15號正好是週六,則找最近的周五(14號)觸發, 如果15號是週未,則找最近的下周一(16號)觸發.如果15號正好在工作日(周一至周五),則就在該天觸發。如果指定格式為 "1w",它則表示每月1號往後最近的工作日觸發。如果1號正是週六,則將在3號下周一觸發。(注,"w"前只能設定具體的數字,不允許區間"-").
# 序號(表示每月的第幾個週幾),例如在周字段上設定"6#3"表示在每月的第三個週六.注意如果指定"#5",正好第五周沒有週六,則不會觸發該配置(用在母親節和父親節再合適不過了) ;
常用表示式
0 0 10,14,16 * * ? 每天上午10點,下午2點,4點
0 0/30 9-17 * * ? 朝九晚五工作時間內每半小時
0 0 12 ? * wed 表示每個星期三中午12點
"0 0 12 * * ?" 每天中午12點觸發
"0 15 10 ? * *" 每天上午10:15觸發
"0 15 10 * * ?" 每天上午10:15觸發
"0 15 10 * * ? *" 每天上午10:15觸發
"0 15 10 * * ? 2005" 2023年的每天上午10:15觸發
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發
"0 10,44 14 ? 3 wed" 每年三月的星期三的下午2:10和2:44觸發
"0 15 10 ? * mon-fri" 周一至周五的上午10:15觸發
"0 15 10 15 * ?" 每月15日上午10:15觸發
"0 15 10 l * ?" 每月最後一日的上午10:15觸發
"0 15 10 ? * 6l" 每月的最後乙個星期五上午10:15觸發
"0 15 10 ? * 6l 2002-2005" 2023年至2023年的每月的最後乙個星期五上午10:15觸發
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發
spring定時任務的配置
spring的定時任務配置分為三個步驟 1 定義任務 2 任務執行策略配置 3 啟動任務 1 定義任務 class org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean execute false 2 任務執...
spring定時任務的配置
spring的定時任務配置分為三個步驟 1 定義任務 2 任務執行策略配置 3 啟動任務 1 定義任務 execute false 2 任務執行策略配置 1 指定重複間隔的定時任務 2 按週期執行的任務 0 42 10 3 啟動任務 至此,系統啟動的時候,就能載入定時任務,並按照指定的定時策略執行。...
系統的定時任務和延時任務
注 當任務有輸出時,輸出會以郵件的形式傳送給at任務的發起者。步驟 開啟postfix服務 命令 內部命令 1.輸入數字是檢視指定郵件的具體資訊 2.headers是檢視郵件列表 3.help檢視內部命令幫助 4.q是退出檢視郵件 命令 注 如果不寫username,預設在當前使用者執行命令 步驟 ...