国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

cron表達(dá)式 詳解

這篇具有很好參考價值的文章主要介紹了cron表達(dá)式 詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

corn表達(dá)式是:由若干數(shù)字、空格、符號按一定的規(guī)則,組成的一組字符串,從而表達(dá)時間的信息。

好像和正則表達(dá)式有點(diǎn)類似哈,都是一個字符串表示一些信息。

Cron 表達(dá)式生成器: Smart Tools - 智能工具箱

簡介

Cron 表達(dá)式是一個具有時間含義的字符串,字符串以 5 或 6 個空格隔開,分為 6 或 7 個域,每一個域代表一種含義。 Cron 有如下兩種語法格式:

  • 秒 分 小時 日期 月份 星期

  • 秒 分 小時 日期 月份 星期 年

即:秒 分 小時 日期 月份 星期 年(可為空)

主流工具

目前的 Cron 表達(dá)式主要有兩類,分別是:

  • Linux crontab 命令 (Crontab 是linux系統(tǒng)自帶的定時任務(wù),用于設(shè)置周期性執(zhí)行的本地腳本。Crontab的cron表達(dá)式只能精確到分鐘。例如,* * * * ?)

  • Java Quartz(Quartz 是一個完全由 Java 編寫的開源作業(yè)調(diào)度框架,為 Java 應(yīng)用進(jìn)行任務(wù)調(diào)度提供了簡單卻強(qiáng)大的機(jī)制。Quartz的cron表達(dá)式可以精確到秒。例如,* * * * * ?)

其中,Linux crontab 僅支持分鐘級別的任務(wù)調(diào)度;Java Quartz 則可以秒級別的任務(wù)調(diào)度;

Linux crontab 中的 cron 語法規(guī)范

* * * * *

- - - - -

| | | | |

| | | | +----- 星期中星期幾 (0 - 6) (星期天為0)

| | | +---------- 月份 (1 - 12)

| | +--------------- 一個月中的第幾天 (1 - 31)

| +-------------------- 小時 (0 - 23)

+------------------------- 分鐘 (0 - 59)

Java Quartz 中的 cron 語法規(guī)范

* * * * * *

- - - - - -

| | | | | |

| | | | | +----- 星期中星期幾 (0 - 6) (星期天為0)

| | | | +---------- 月份 (1 - 12)

| | | +--------------- 一個月中的第幾天 (1 - 31)

| | +-------------------- 小時 (0 - 23)

| +------------------------- 分鐘 (0 - 59)

+------------------------------ 秒 (0 - 60)

域取值

下表為 Cron 表達(dá)式中每個域能夠取的值以及支持的特殊字符。

是否必需

取值范圍

特殊字符

[0, 59]

* , - /

分鐘

[0, 59]

* , - /

小時

[0, 23]

* , - /

日期

[1, 31]

* , - / ? L W C

月份

[1, 12]

* , - /

星期

[1, 7] 其中 1 表示星期一,7 表示星期日。

* , - / ? L C #

留空,1970~2099

, - * /

特殊字符

Cron 表達(dá)式中的每個域都支持一定數(shù)量的特殊字符,每個特殊字符有其特殊含義。

特殊字符

含義

示例

*

所有可能的值

月份域中,* 表示每個月;在星期域中,* 表示星期的每一天。

,

列出枚舉值

分鐘域中,5,20 表示分別在 5 分鐘和 20 分鐘觸發(fā)一次。

-

范圍

分鐘域中,5-20 表示從 5 分鐘到 20 分鐘之間每隔一分鐘觸發(fā)一次。

/

表示起始時間開始觸發(fā),然后每隔固定時間觸發(fā)一次

分鐘域中,0/15 表示從第 0 分鐘開始,每 15 分鐘觸發(fā)一次。在分鐘域中3/20表示從第 3 分鐘開始,每 20 分鐘觸發(fā)一次。

?

不指定值,僅日期和星期域支持該字符

當(dāng)日期或星期域其中之一被指定了值以后,為了避免沖突,需要將另一個域的值設(shè)為?。

L

單詞 Last 的首字母,表示最后一天,僅日期和星期域支持該字符

日期域中,L 表示某個月的最后一天。在星期域中,L 表示一個星期的最后一天,也就是星期日(SUN)。如果在 L 前有具體的內(nèi)容,例如,在星期域中的 6L,表示這個月的最后一個星期六。

W

表示有效工作日(周一到周五),只能出現(xiàn)在日期域,系統(tǒng)將在離指定日期最近的有效工作日觸發(fā)事件。W 字符尋找當(dāng)前月份中最近有效工作日,連用字符 LW 時表示為指定月份的最后一個工作日。

日期域中使用 5W, 如果 5 號是星期六,則將在最近的工作日星期五,即 4 日觸發(fā)。如果 5 日是星期天,則將在最近的工作日星期一,即 6 日觸發(fā);如果 5 日在星期一到星期五中的一天,則就在 5 日觸發(fā)。

#

確定每個月第幾個星期幾,僅星期域支持該字符。

星期域中,4#2表示某月的第二個星期四。

C

這個字符依靠一個指定的“日歷”。也就是說這個表達(dá)式的值依賴于相關(guān)的“日歷”的計算結(jié)果,如果沒有“日歷”關(guān)聯(lián),則等價于所有包含的“日歷”。僅日期和星期域支持該字符。

日期域是“5C”表示關(guān)聯(lián)“日歷”中第一天,或者這個月開始的第一天的后5天。星期域是“1C”表示關(guān)聯(lián)“日歷”中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)。

允許值范圍: 0~59 ,不允許為空值,若值不合法,調(diào)度器將拋出SchedulerException異常

"*" 代表每隔1秒鐘觸發(fā)

"," 代表在指定的秒數(shù)觸發(fā),比如"0,15,45"代表0秒、15秒和45秒時觸發(fā)任務(wù)

"-" 代表在指定的范圍內(nèi)觸發(fā),比如"25-45"代表從25秒開始觸發(fā)到45秒結(jié)束觸發(fā),每隔1秒觸發(fā)1次

"/" 代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"0"),后面的值代表偏移量,比如"0/20"或者"*/20"代表從0秒鐘開始,每隔20秒鐘觸發(fā)1次,即0秒觸發(fā)1次,20秒觸發(fā)1次,40秒觸發(fā)1次;"5/20"代表5秒觸發(fā)1次,25秒觸發(fā)1次,45秒觸發(fā)1次;"10-45/20"代表在[10,45]內(nèi)步進(jìn)20秒命中的時間點(diǎn)觸發(fā),即10秒觸發(fā)1次,30秒觸發(fā)1次

分鐘

允許值范圍: 0~59 ,不允許為空值,若值不合法,調(diào)度器將拋出SchedulerException異常

"*" 代表每隔1分鐘觸發(fā)

"," 代表在指定的分鐘觸發(fā),比如"10,20,40"代表10分鐘、20分鐘和40分鐘時觸發(fā)任務(wù)

"-" 代表在指定的范圍內(nèi)觸發(fā),比如"5-30"代表從5分鐘開始觸發(fā)到30分鐘結(jié)束觸 發(fā),每隔1分鐘觸發(fā)

"/" 代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"0"),后面的值代表偏移量,比如"0/25"或者"*/25"代表從0分鐘開始,每隔25分鐘觸發(fā)1次,即0分鐘觸發(fā)1次,第25分鐘觸發(fā)1次,第50分鐘觸發(fā)1次;"5/25"代表5分鐘觸發(fā)1次,30分鐘觸發(fā)1次,55分鐘觸發(fā)1次;"10-45/20"代表在[10,45]內(nèi)步進(jìn)20分鐘命中的時間點(diǎn)觸發(fā),即10分鐘觸發(fā)1次,30分鐘觸發(fā)1次

小時

允許值范圍: 0~23 ,不允許為空值,若值不合法,調(diào)度器將拋出SchedulerException異常

"*" 代表每隔1小時觸發(fā)

"," 代表在指定的時間點(diǎn)觸發(fā),比如"10,20,23"代表10點(diǎn)鐘、20點(diǎn)鐘和23點(diǎn)觸發(fā)任務(wù)

"-" 代表在指定的時間段內(nèi)觸發(fā),比如"20-23"代表從20點(diǎn)開始觸發(fā)到23點(diǎn)結(jié)束觸發(fā),每隔1小時觸發(fā)

"/" 代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"0"),后面的值代表偏移量,比如"0/1"或者"*/1"代表從0點(diǎn)開始觸發(fā),每隔1小時觸發(fā)1次;"1/2"代表從1點(diǎn)開始觸發(fā),以后每隔2小時觸發(fā)一次

日期

允許值范圍: 1~12 (JAN-DEC),不允許為空值,若值不合法,調(diào)度器將拋出SchedulerException異常

"*" 代表每個月都觸發(fā)

"," 代表在指定的月份觸發(fā),比如"1,6,12"代表1月份、6月份和12月份觸發(fā)任務(wù)

"-" 代表在指定的月份范圍內(nèi)觸發(fā),比如"1-6"代表從1月份開始觸發(fā)到6月份結(jié)束觸發(fā),每隔1個月觸發(fā)

"/" 代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"1"),后面的值代表偏移量,比如"1/2"或者"*/2"代表從1月份開始觸發(fā),每隔2個月觸發(fā)1次;"6/6"代表從6月份開始觸發(fā),以后每隔6個月觸發(fā)一次;"1-6/12"表達(dá)式意味著每年1月份觸發(fā)

"C" 這個字符依靠一個指定的“日歷”。也就是說這個表達(dá)式的值依賴于相關(guān)的“日歷”的計算結(jié)果,如果沒有“日歷”關(guān)聯(lián),則等價于所有包含的“日歷”。比如“5C”表示關(guān)聯(lián)“日歷”中第一天,或者這個月開始的第一天的后5天。

星期

允許值范圍: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此類推,7代表星期六(一星期的最后一天),不允許為空值,若值不合法,調(diào)度器將拋出SchedulerException異常

"*" 代表每星期都觸發(fā);

"?" 與{日期}互斥,即意味著若明確指定{日期}觸發(fā),則表示{星期}無意義,以免引起沖突和混亂

"," 代表在指定的星期約定觸發(fā),比如"1,3,5"代表星期天、星期二和星期四觸發(fā)

"-" 代表在指定的星期范圍內(nèi)觸發(fā),比如"2-4"代表從星期一開始觸發(fā)到星期三結(jié)束觸發(fā),每隔1天觸發(fā)

"/" 代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"1"),后面的值代表偏移量,比如"1/3"或者"*/3"代表從星期天開始觸發(fā),每隔3天觸發(fā)1次;"1-5/2"表達(dá)式意味著在[1,5]范圍內(nèi),每隔2天觸發(fā),即星期天、星期二、星期四觸發(fā)

"L" 如果{星期}占位符如果是"L",即意味著星期的的最后一天觸發(fā),即星期六觸發(fā),L= 7或者 L = SAT,因此,"5L"意味著一個月的最后一個星期四觸發(fā)

"#" 用來指定具體的周數(shù),"#"前面代表星期,"#"后面代表本月第幾周,比如"2#2"表示本月第二周的星期一,"5#3"表示本月第三周的星期四,因此,"5L"這種形式只不過是"#"的特殊形式而已

"C" 這個字符依靠一個指定的“日歷”。也就是說這個表達(dá)式的值依賴于相關(guān)的“日歷”的計算結(jié)果,如果沒有“日歷”關(guān)聯(lián),則等價于所有包含的“日歷”。比如:“1C”表示關(guān)聯(lián)“日歷”中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)。

年份

允許值范圍: 1970~2099 ,允許為空,若值不合法,調(diào)度器將拋出SchedulerException異常

"*"代表每年都觸發(fā)

","代表在指定的年份才觸發(fā),比如"2011,2012,2013"代表2011年、2012年和2013年觸發(fā)任務(wù)

"-"代表在指定的年份范圍內(nèi)觸發(fā),比如"2011-2020"代表從2011年開始觸發(fā)到2020年結(jié)束觸發(fā),每隔1年觸發(fā)

"/"代表觸發(fā)步進(jìn)(step),"/"前面的值代表初始值("*"等同"1970"),后面的值代表偏移量,比如"2011/2"或者"*/2"代表從2011年開始觸發(fā),每隔2年觸發(fā)1次

注意:除了{(lán)日期}和{星期}可以使用"?"來實現(xiàn)互斥,表達(dá)無意義的信息之外,其他占位符都要具有具體的時間含義,且依賴關(guān)系為:年->月->日期(星期)->小時->分鐘->秒數(shù)

Cron 表達(dá)式示例

示例 1

說明

0 15 10 ? * *

每天上午 10:15 執(zhí)行任務(wù)

0 15 10 * * ?

每天上午 10:15 執(zhí)行任務(wù)

0 0 12 * * ?

每天中午 12:00 執(zhí)行任務(wù)

0 0 10,14,16 * * ?

每天上午 10:00 點(diǎn)、下午 14:00 以及下午 16:00 執(zhí)行任務(wù)

0 0/30 9-17 * * ?

每天上午 09:00 到下午 17:00 時間段內(nèi)每隔半小時執(zhí)行任務(wù)

0 * 14 * * ?

每天下午 14:00 到下午 14:59 時間段內(nèi)每隔 1 分鐘執(zhí)行任務(wù)

0 0-5 14 * * ?

每天下午 14:00 到下午 14:05 時間段內(nèi)每隔 1 分鐘執(zhí)行任務(wù)

0 0/5 14 * * ?

每天下午 14:00 到下午 14:55 時間段內(nèi)每隔 5 分鐘執(zhí)行任務(wù)

0 0/5 14,18 * * ?

每天下午 14:00 到下午 14:55、下午 18:00 到下午 18:55 時間段內(nèi)每隔 5 分鐘執(zhí)行任務(wù)

0 0 12 ? * WED

每個星期三中午 12:00 執(zhí)行任務(wù)

0 15 10 15 * ?

每月 15 日上午 10:15 執(zhí)行任務(wù)

0 15 10 L * ?

每月最后一日上午 10:15 執(zhí)行任務(wù)

0 15 10 ? * 6L

每月最后一個星期六上午 10:15 執(zhí)行任務(wù)

0 15 10 ? * 6#3

每月第三個星期六上午 10:15 執(zhí)行任務(wù)

0 10,44 14 ? 3 WED

每年 3 月的每個星期三下午 14:10 和 14:44 執(zhí)行任務(wù)

cron 表達(dá)式用途

cron 表達(dá)式最主要的就是在程序中做一些定時任務(wù),比如某些系統(tǒng)的報表數(shù)據(jù),某些游戲的排行榜,由于這些數(shù)據(jù)量實時統(tǒng)計非常消耗程序性能,所以就每隔一段時間,通過自動任務(wù)跑一次,這樣可以極大的提升用戶瀏覽體驗,要是在游戲里,還可以增加一種神秘感。

另外,某些具體點(diǎn)的數(shù)據(jù)拉取,比如你如果從事平臺對接工作,要從某些平臺下載你的訂單,那么肯定是每隔多久抓一次。

又比如你寫個爬蟲,要實時的了解你的某些數(shù)據(jù),然后從這些數(shù)據(jù)中反應(yīng)你的情況。

一個簡單的java項目示例

導(dǎo)入依賴


        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>
cron表達(dá)式,編程工具,java,cron

定義Job

定義一個HelloJob類實現(xiàn)Job接口


    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    import java.util.Date;
    
    public class HelloJob implements Job {
    
        @Override
        public void execute(JobExecutionContext arg0) throws JobExecutionException {
            System.out.println("Say hello to Quartz {" + new Date() +"}");
        }
}
cron表達(dá)式,編程工具,java,cron

測試

寫個主函數(shù),在主函數(shù)里面完成整個Quartz的操作過程


    import org.quartz.*;
    import org.quartz.impl.StdSchedulerFactory;
    
    import java.util.Date;
    
    public class HelloQuartz {
    
        public static void main(String[] args) throws SchedulerException {
            //1.創(chuàng)建Scheduler的工廠
            SchedulerFactory sf = new StdSchedulerFactory();
            //2.從工廠中獲取調(diào)度器實例
            Scheduler scheduler = sf.getScheduler();
    
            //3.創(chuàng)建JobDetail
            JobDetail jb = JobBuilder.newJob(HelloJob.class)
                    .withDescription("this is a job") //job的描述
                    .withIdentity("Job", "Group") //job 的name和group
                    .build();
    
            //任務(wù)運(yùn)行的時間,SimpleSchedle類型觸發(fā)器有效
            long time=  System.currentTimeMillis() + 3*1000L; //3秒后啟動任務(wù)
            Date statTime = new Date(time);
    
            //4.創(chuàng)建Trigger
            //使用SimpleScheduleBuilder或者CronScheduleBuilder
            Trigger t = TriggerBuilder.newTrigger()
                    .withDescription("")
                    .withIdentity("Trigger", "TriggerGroup")
                    //.withSchedule(SimpleScheduleBuilder.simpleSchedule())
                    .startAt(statTime)  //默認(rèn)當(dāng)前時間啟動
                    .withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ?")) // 10秒執(zhí)行一次
                    .build();
    
            //5.注冊任務(wù)和定時器
            scheduler.scheduleJob(jb, t);
    
            //6.啟動 調(diào)度器
            scheduler.start();
        }
}
cron表達(dá)式,編程工具,java,cron

運(yùn)行截圖:

cron表達(dá)式,編程工具,java,cron

一個簡單的sprin boot項目示例

導(dǎo)入依賴


    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
? ? </dependency>
cron表達(dá)式,編程工具,java,cron

定義Job

定義一個HelloJob類實現(xiàn)Job接口


    package com.example.demo;
    
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    import java.util.Date;
    
    public class HelloJob implements Job {
    
        @Override
        public void execute(JobExecutionContext arg0) throws JobExecutionException {
            System.out.println("Say hello to Quartz {" + new Date() +"}");
        }
    }
cron表達(dá)式,編程工具,java,cron

測試

寫個主函數(shù),在主函數(shù)里面完成整個Quartz的操作過程


    package com.example.demo;
    
    
    import org.quartz.*;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    // 要配置Quartz的調(diào)度器Scheduler
    // 調(diào)度器由SpringBoot管理,所以就變成了配置Spring
    @Configuration
    public class Demo {
    
        // 配置的核心是向Spring容器保存一個job和保存一個Trigger
    
        // 創(chuàng)建一個封裝Job對象的類型JobDetail
        // 使用@Bean注解標(biāo)記的方法將這個對象保存到Spring容器
        @Bean
        public JobDetail addStock(){
            //newJob方法就是在綁定要運(yùn)行的Job接口實現(xiàn)類,需要實現(xiàn)類的反射做參數(shù)
            return JobBuilder.newJob(HelloJob.class)
                    // 給當(dāng)前JobDetail對象在調(diào)度環(huán)境中起名
                    .withIdentity("addStock")
                    // 即使沒有觸發(fā)器綁定當(dāng)前JobDetail對象,也不會被刪除
                    .storeDurably()
                    .build();
        }
    
        // 下面是觸發(fā)器的聲明,也會保存到Spring容器中
        // 它能夠設(shè)置job的運(yùn)行時機(jī)
        @Bean
        public Trigger addStockTrigger(){
            System.out.println("Trigger保存到Spring容器中");
            // 定義Cron表達(dá)式
            CronScheduleBuilder cron=
                    CronScheduleBuilder.cronSchedule("0/10 * * * * ?"); // 10秒執(zhí)行一次
            return TriggerBuilder.newTrigger()
                    // 綁定要運(yùn)行的JobDetail對象
                    .forJob(addStock())
                    // 為觸發(fā)器起名
                    .withIdentity("addStockTrigger")
                    // 綁定cron表達(dá)式
                    .withSchedule(cron)
                    .build();
        }
    }
cron表達(dá)式,編程工具,java,cron

運(yùn)行截圖:

cron表達(dá)式,編程工具,java,cron

驗證cron表達(dá)式有效性的示例

導(dǎo)入依賴

???????

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>

cron表達(dá)式,編程工具,java,cron

代碼

校驗cron表達(dá)式只用一個方法就可以了,在主函數(shù)中進(jìn)行測試。

import org.quartz.CronExpression;

import java.text.ParseException;

public class Demo {

    public static void main(String[] args) {
        System.out.println(getInvalidMessage("0/5 * * * * ? *")); // cron表達(dá)式有效
        System.out.println(getInvalidMessage("11 0/5 * * * * ? *")); // cron表達(dá)式無效
    }

    /**
     * 驗證一個cron表達(dá)式是否有效:返回一個字符串值,表示該無效Cron表達(dá)式給出的提示信息
     *
     * @param cronExpression Cron表達(dá)式
     * @return String 無效時返回表達(dá)式錯誤描述,如果有效返回null
     */
    public static String getInvalidMessage(String cronExpression) {
        try {
            new CronExpression(cronExpression);
            return null;
        } catch (ParseException pa) {
            return pa.getMessage();
        }
    }
}

cron表達(dá)式,編程工具,java,cron

運(yùn)行截圖:

cron表達(dá)式,編程工具,java,cron

Linux的crontab命令

在Linux中的cron表達(dá)式與上文所述有所不同,更準(zhǔn)確地說是更加精簡了。

crontab的命令構(gòu)成為 cron表示式 + command,這里的cron表達(dá)

Minutes Hours DayOfMonth Month DayOfWeek

而操作符則有:

* / - ,

一起來看看幾個例子:

1. 每晚的21:30重啟smb

30 21 * * * /etc/init.d/smb restart

2. 每星期六的晚上11:00 pm重啟smb

0 23 * * 6 /etc/init.d/smb restart

3. 晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時重啟smb

0 23-7/1 * * * /etc/init.d/smb restart文章來源地址http://www.zghlxwxcb.cn/news/detail-761906.html

到了這里,關(guān)于cron表達(dá)式 詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一篇學(xué)會cron表達(dá)式

    一篇學(xué)會cron表達(dá)式

    Cron表達(dá)式是一種用于定義定時任務(wù)的格式化字符串。它被廣泛用于Unix、Linux和類Unix系統(tǒng)中,用于在指定的時間執(zhí)行預(yù)定的任務(wù)。Cron表達(dá)式由6個字段組成,每個字段通過空格分隔開。 在本文中,我們將學(xué)習(xí)如何理解和編寫Cron表達(dá)式。 Cron表達(dá)式的格式如下: 每個字段可以使

    2024年02月05日
    瀏覽(52)
  • Cron表達(dá)式介紹與示例

    ? 1. 概念介紹 Cron表達(dá)式是一個具有時間含義的字符串,字符串以5~6個空格隔開,分為6~7個域,格式為 X X X X X X X 。其中 X 是一個域的占位符。最后一個代表年份的域非必須,可省略。單個域有多個取值時,使用半角逗號 , 隔開取值。每個域可以是確定的取值,也可以是具有

    2023年04月17日
    瀏覽(47)
  • cron表達(dá)式語法規(guī)則及常見示例

    cron表達(dá)式最初是由Unix操作系統(tǒng)中的cron守護(hù)進(jìn)程所使用的一種語法規(guī)則,用于設(shè)置定時任務(wù)。cron守護(hù)進(jìn)程是Unix系統(tǒng)中的一個后臺進(jìn)程,用于周期性地執(zhí)行指定的命令或腳本。它可以根據(jù)用戶的需求,按照指定的時間間隔或時間點(diǎn)來執(zhí)行任務(wù),通常用于定時備份、清理日志、

    2024年02月09日
    瀏覽(50)
  • Linux|CronTab 的 Cron 表達(dá)式

    經(jīng)典 Cron 表達(dá)式包含 5 個位置,中間用空格分隔。其標(biāo)準(zhǔn)語法如下: 其中: [minute] 表示分鐘,取值范圍 [0, 59] [hour] 表示小時,取值范圍 [0, 23] [day of month] 表示日期,取值范圍 [0, 31] [month] 表示月份,取值范圍 [1, 12] ,也可以用名稱簡寫( Jan - Dec ) [day of week] 表示星期,取值

    2024年02月06日
    瀏覽(51)
  • SpringBoot自定義cron表達(dá)式注冊定時任務(wù)

    SpringBoot自定義cron表達(dá)式注冊定時任務(wù)

    1、使用Spring自帶的TaskScheduler注冊任務(wù) 2、注冊后返回:ScheduledFuture,用于取消定時任務(wù) 3、注冊任務(wù)后不會馬上取消任務(wù),所以將任務(wù)緩存。在需要取消任務(wù)的時候調(diào)用取消接口取消 4、cron表達(dá)式可以由前端或者后端生成。實現(xiàn)中會校驗cron表達(dá)式 1、配置任務(wù)調(diào)度器 作用:設(shè)

    2023年04月21日
    瀏覽(27)
  • 深度解析Cron表達(dá)式:精確控制任務(wù)調(diào)度的藝術(shù)

    深度解析Cron表達(dá)式:精確控制任務(wù)調(diào)度的藝術(shù)

    深度解析Cron表達(dá)式:精確控制任務(wù)調(diào)度的藝術(shù) 希望我們都可以滿懷期待的路過每一個轉(zhuǎn)角 去遇見 那個屬于自己故事的開始 去追尋那個最真實的自己 去放下 去拿起 安然,自得,不受世俗牽絆… 導(dǎo)言 在計算機(jī)科學(xué)領(lǐng)域,任務(wù)調(diào)度是一項關(guān)鍵的工作。而Cron表達(dá)式就是一種強(qiáng)

    2024年02月02日
    瀏覽(69)
  • Cron表達(dá)式簡單介紹 + Springboot定時任務(wù)的應(yīng)用

    前言 表達(dá)式是一個字符串,主要分成6或7個域,但至少需要6個域組成,且每個域之間以空格符隔開。 以7個域組成的,從右往左是【年 星期 月份 日期 小時 分鐘 秒鐘】 秒 分 時 日 月 星期 年 以6個域組成的,從右往左是【星期 月份 日期 小時 分鐘 秒鐘】 秒 分 時 日 月 星

    2023年04月20日
    瀏覽(23)
  • Spring 定時任務(wù)@Scheduled 注解中的 Cron 表達(dá)式

    Spring 定時任務(wù)@Scheduled 注解中的 Cron 表達(dá)式

    Spring 框架提供了強(qiáng)大的定時任務(wù)功能,通過 @Scheduled 注解可以方便地定義和管理定時任務(wù)。其中,Cron 表達(dá)式作為定時任務(wù)觸發(fā)的時間表達(dá)式,扮演著重要的角色。本篇博客將詳細(xì)介紹和講解 Cron 表達(dá)式的語法和常見用法,幫助各位更好地理解和使用 Spring 的定時任務(wù)功能。

    2024年02月11日
    瀏覽(89)
  • java中cron表達(dá)式 每10分鐘執(zhí)行一次

    在Java中,可以使用Quartz框架來定義和調(diào)度任務(wù),包括使用Cron表達(dá)式來定義任務(wù)的執(zhí)行時間。下面是一個使用Quartz框架實現(xiàn)每10分鐘執(zhí)行一次任務(wù)的示例: 添加Quartz依賴 在Maven項目中,添加以下依賴到pom.xml文件中: xml dependency ? ? groupIdorg.quartz-scheduler/groupId ? ? artifactIdquar

    2024年02月13日
    瀏覽(21)
  • 使用python 解析Linux cron表達(dá)式,輸出執(zhí)行日期

    該方法通過輸入linux 的cron 表達(dá)式,可以按要求輸出調(diào)度的時間,方便與實際調(diào)度進(jìn)行校對。

    2024年02月11日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包