首頁  >  文章  >  後端開發  >  SpringBoot 排程任務及常用任務表達式

SpringBoot 排程任務及常用任務表達式

小云云
小云云原創
2017-12-06 09:31:481702瀏覽

本文主要介紹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/

#截圖如下:

SpringBoot 排程任務及常用任務表達式

# #一些常用的任務表達式範例:

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觸發

/5 * * * ? 每隔5秒執行一次

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 12 ? * WED 表示每個星期三中午12點

0 0 17 ? * TUES,THUR,SAT 每週二、四、六下午五點
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44觸發
0 15 10 ? * MON -FRI 週一至週五的上午10:15觸發

0 0 23 L * ? 每月最後一天23點執行一次

0 15 10 L * ? 每月最後一日的上午10: 15觸發
0 15 10 ? * 6L 每個月的最後一個星期五上午10:15觸發

0 15 10 * * ? 2005 2005年的每天上午10:15觸發

0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最後一個星期五上午10:15觸發
0 15 10 ? * 6#3 每月的第三個星期五上午10:15觸發

以上內容就是SpringBoot 調度任務及常用任務表達式,希望能幫助大家。

相關推薦:

詳解SpringBoot中Session逾時問題原因

Java中關於SpringBoot的入門圖文教學

深度解析springboot如何配置多個redis連線

以上是SpringBoot 排程任務及常用任務表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn