本文主要介紹SpringBoot 調度任務及常用任務表達式,1.首先需要用@EnableScheduling註解到*applicatin.java,用來偵測是否有排程任務。 2.@Scheduled 註解用於標註這個方法是一個定時任務的方法。 Spring會自動掃描這個註解,啟動調度任務。
package com.david.translate.quartz; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.david.translate.service.SysUserService; @Component public class TimeQuartz { @Autowired private SysUserService userService; /** * 一分钟执行一次 */ @Scheduled(cron="0 0/1 * * * ?") public void executeFileDownLoadTask() { System.out.println(">>>>>>>>>>>>>>>>>>>任务执行 "+userService.findAll().size()); } }
調度任務的時間配置用的是cron表達式,推薦一個在線生成表達式的網站,如果自己不會寫或不願意自己寫,可以用這個網站直接產生:
http://cron.qqe2.com/
#截圖如下:
# #一些常用的任務表達式範例:
0 * * * * ? 每1分鐘觸發一次0 0 * * * ? 每天每1小時觸發一次
0 0 10 * * ? 每天10點觸發一次
0 * 14 * * ? 在每天下午2點到下午2:59期間的每1分鐘觸發
0 30 9 1 * ? 每月1號上午9點半
0 15 10 15 * ? 每月15日上午10:15觸發
0 /1 * * ? 每隔1分鐘執行一次
0 0 5-15 * * ? 每天5-15點整點觸發
0 0/3 * * * ? 每三分鐘觸發一次
0 0-5 14 * * ? 在每天下午2點到下午2:05期間的每1分鐘觸發
0 0/5 14 * * ? 在每天下午2點到下午2:55期間的每5分鐘觸發
0 0/5 14,18 * * ? 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發
0 0/30 9-17 * * ? 朝九晚五工作時間內每半小時
0 0 10,14,16 * * ? 每天上午10點,下午2點,4點
0 0 17 ? * TUES,THUR,SAT 每週二、四、六下午五點
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44觸發
0 15 10 ? * MON -FRI 週一至週五的上午10:15觸發
0 15 10 L * ? 每月最後一日的上午10: 15觸發
0 15 10 ? * 6L 每個月的最後一個星期五上午10:15觸發
0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最後一個星期五上午10:15觸發
0 15 10 ? * 6#3 每月的第三個星期五上午10:15觸發
以上是SpringBoot 排程任務及常用任務表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!