優雅的使用springboot整合任務排程

2021-09-29 13:15:57 字數 2248 閱讀 5232

任務排程器就是按照規定的計畫完成任務;比如windows,linux的自帶的任務排程系統功能;平常開發中也就是按照規定的時間點輪詢執行計畫任務(比如每週三的凌晨進行資料備份),或者按時間隔觸發一次任務排程(比如每3小時執行一次定時抓拍);

如果有用過quartz的讀者肯定了解cron時鐘週期計畫;下面是cron對應位數的說明,其中第七位年份通常忽略,第四位跟第六位同時表達會有歧義,通常只表達具體的一位,另一位使用?表示解決衝突;

位數說明

第一位second(0-59)

第二位minute(0-59)

第三位hour(0-23)

第四位day of month(1-31)

第五位month(1-12)

第六位day of week(1-7)1是週日,7是週六

第七位year(1970-2099)

佔位符說明

*表示任意時刻

?day of month 或者 day of week

-表示範圍

/表示間隔

,表示列舉

l表示最後day of month 或者 day of week

w表示有效工作日(1-5)day of month

#表示第幾個星期幾 day of week

lw表示某月最後乙個工作日

corn

說明0 0 3 * * ?

每月每天凌晨3點觸發

0 0 3 1 * ?

每月1日凌晨3點觸發

0 0 3 ? * wen

星期三中午12點觸發

0 0 3 ?* mon-fri

周一至周五凌晨3點觸發

0 0/5 8 * * ?

每天7點至7:55分每隔5分鐘觸發一次

0 10,20 8 * * ?

每天的8點10分,8點20分觸發

0 0 1-3 * * ?

每天的1點至三點每小時觸發一次

0 0 8 l * ?

每月最後一天的8點觸發

0 10 12 ? * 6#3

每月的第三個星期五的12:10分觸發

0 10 12 ? * 6l 2022

表示2023年每月最後乙個星期五10:22分觸發

org.springframework.boot

spring-boot-starter-web

在@scheduled註解中自定義cron排程計畫;將註解用在需要進行排程的方法上

/**

* @author lsc

* @description

* @date 2019/11/11 22:23

*/@service

public class plainservice

}

啟動類需要加上 @enablescheduling 表示開啟任務排程;

/**

* @author lsc

* @description 任務排程啟動類

* @date 2019/11/11 22:20

*/// 開啟任務排程

@enablescheduling

public static void main(string args)

}

每隔3000毫秒執行一次,必須是上次排程成功後3000毫秒;

@scheduled(fixeddelay = 3000)

public void fixeddelayscheduled()

每個3000毫秒執行一次,無論上次是否會執行成功,下次都會執行;

@scheduled(fixedrate = 3000)

public void fixedratescheduled()

initialdelay 表示初始化延遲1000毫秒後,執行具體的任務排程,之後按照fixedrate進行任務排程;

@scheduled(initialdelay = 1000,fixedrate = 3000)

public void initialdelaystringscheduled()

時光荏苒,初心不改,愛學習,愛每一天;原始碼在github上

Spring Boot 之優雅使用 AOP

aop為aspect oriented programming的縮寫,意思是面向切面程式設計,通過預編譯的方式和執行時動態 實現程式功能的統一維護的一種技術。利用aop可以對業務邏輯進行分離,降低耦合度,提高可重用性,提高開發效率。主要用途 日誌記錄 事務處理 異常處理 安全處理 效能統計 在spr...

SpringBoot如何優雅地使用Swagger2

spring boot 框架是目前非常流行的微服務框架,我們很多情況下使用它來提供 rest api。而對於 rest api 來說很重要的一部分內容就是文件,swagger 為我們提供了一套通過 和註解自動生成文件的方法,這一點對於保證 api 文件的及時性將有很大的幫助。本文將使用 swagge...

如何優雅的丟擲Spring Boot註解的異常詳解

前言 spring boot它簡化了配置,內嵌式tomcat容器,用於快速開發基於spring的應用,是乙個微框架,本文主要介紹的是關於如何優雅的丟擲spring boot註解的異常的相關內容,下面話不多說了,來一起看看詳細的介紹吧 平時我們在寫 的時候肯定要進行很多引數驗證,最開始的時候我們一般都...