日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Spring Cron Expression

發布時間:2024/4/14 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cron Expression 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

一、簡介

CRON表達式是由6個或7個由空格分隔的元素組成的字符串,這些元素可以包含任何允許的值,以及該元素所允許的特殊字符的不同組合。元素如下:

1-1 ?CRON表達式允許的元素和值

元素

是否必須

允許的值

允許的特殊字符

Y

0-59

, - * /

分鐘

Y

0-59

, - * /

小時

Y

0-23

, - * /

日期

Y

1-31

, - * ? / L W

月份

Y

1-12 或者 JAN-DEC

, - * /

星期

Y

1-7 或者 SUN-SAT

, - * ? / L #

年份

N

空 或者 1970-2199

, - * /

二、特殊字符說明

*:用來指定所有值。例如,如果元素分鐘為“*”,那么就表示每一分鐘;

?:用來表示無指定值。只有日期和星期這兩個元素可以使用“?”。當你想要指定這兩個元素中的一個元素的值時非常有用,因為日期和星期不能同時設值。例如,如果想在某個月特定的一天(比如10號)觸發,但是不管那一天是星期幾,則可以將元素日期的值設置為“10”,元素星期的值設置為“?”;

-:用來指定范圍內的值。例如,元素小時為“10-12”,則表示10點、11點、12點;

,: 用來分隔一個元素的多個值。例如,元素星期為"MON,WED,FRI",則表示周一、周三和周五;

/:用來表示增量。例如,元素秒為“0/15”,則表示第0, 15秒,30秒以及45秒。 元素秒為“5/15, 則表示5秒,20,35秒以及50。 在"/"前指定“*”等價于在"/"前指定0作為起始值。對于表達式的每個元素都有數字范圍,具體參見表1-1,"/"只是在給定值范圍內每隔N觸發。因此請特別注意,月份為"7/6",表示僅在7月份觸發,并不是每6個月觸發一次。斜杠前的數字表示起始值,后面的數字表示增量

L:只能用于“日期”和“星期”這兩個元素。這個字符是“last”的縮寫,但是對于這兩個不同的元素,有著不同的含義。例如,對于日期元素,值“L”代表“這個月的最后一天”——1月份是31號,閏年的二月份是28號。如果“L”用于星期元素,則簡單的表示“7”或者“SAT”;但是如果它跟在數字后面用于星期元素,則表示“這個月最后的XXX天”——例如“6L”或者“FRIL”都表示“這個月最后一個星期五”。你也可以從某個月的最后一天指定一個偏移量,例如“L-3”表示歷月的倒數第3天。 注意,當使用選項“L”時,不要指定列表值或者范圍值,否則結果會讓你比較困惑。

W:用來指定離給定日期最近的工作日(星期一至星期五),只能用于日期元素。例如,15W,則表示離這個月15號最近的工作日。如果15號是星期六,那么觸發器將會在14號星期五觸發。如果15號是星期天,那么觸發器將會在16號星期一觸發。如果15號是星期二,那么它將在15號星期二觸發。然而如果你指定“日期”元素的值為“1W”,并且1號是星期六,觸發器將在3號星期一觸發,它不會跨躍一個月的天數邊界。只有當日期是單一的一天才能指定“W”,而不能是一個日期范圍或者列表

#:只能用于元素星期。該字符用來指定這個月第N個星期X。例如“6#3”,它表示這個月第三個星期五(6 =星期五,"#3" =這個月第三個)。再如,“2#1”表示這個月第一個星期一, "4#5"表示這個月第五個星期四。注意如果你指定"#5"并且這個月沒有5個給定的星期,那么這個月將不會觸發。如果使用字符'#',元素星期只能使用一個表達式("3#1,6#3" 是無效的,因為有兩個表達式)。#前面的數字代表星期幾,后面的數字表示是第幾個

三、配置示例

下面是CRON表達式的一些配置示例:

表達式

含義

0 0 12 * * ?

每天中午12:00觸發

0 15 10 ? * *

每天上午10:15觸發

0 15 10 * * ?

每天上午10:15觸發

0 15 10 * * ? *

每天上午10:15觸發

0 15 10 * * ? 2005

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

0 * 14 * * ?

每天,從下午2:002:59,每分鐘觸發一次

0 0/5 14 * * ?

每天,從下午2:002:55,每五分鐘觸發一次

0 0/5 14,18 * * ?

每天,從下午2:002:55,每五分鐘觸發一次,并且從下午6:006:55,每五分鐘觸發一次

0 0-5 14 * * ?

每天,從下午2:002:05,每分鐘觸發一次

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

2002, 2003, 2004以及2005年的每個月最后一個星期五上午10:15觸發

0 15 10 ? * 6#3

每個月第三個星期五的上午10:15觸發

0 0 12 1/5 * ?

每個月從第一天中午12:00開始,每5天觸發一次

0 11 11 11 11 ?

每年1111日上午11:11觸發

0 0 23-7/2,8 * * ?

晚上11點到早上8點之間每兩個小時觸發一次,早上八點觸發一次

?

四、注意事項

1、 本文檔基于Quartz 2.2.X

2、 支持范圍溢出,即左邊的值比右邊的值大。例如,可以使用“22-2”來表示當天

晚上10點到第二天凌晨2, 或者也可以使用“NOV-FEB”。過度使用范圍溢出來創建范圍沒有任何意義。

轉載于:https://my.oschina.net/jackieyeah/blog/182091

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Spring Cron Expression的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。