摘要:個子域的說明的表達式是字符串,實際上是由七子表達式從左到右,描述個別細節的時間表。這些子表達式是分開的空白。表示有效工作日周一到周五。例如在,表示某月的第二個星期三。最全的表達式教程
1、7個子域的說明
cron 的表達式是字符串,實際上是由七子表達式(從左到右),描述個別細節的時間表。這些子表達式是分開的空白。
順序(從左到右) | 子串 | 有效數字 | 有效字符 |
---|---|---|---|
1 | Seconds(秒) | 0~59 的整數 | ,和 -和 *和 / |
2 | Minutes(分) | 0~59 的整數 | ,和 -和 *和 / |
3 | Hours(小時) | 0~23 的整數 | ,和 -和 *和 / |
4 | Day-of-Month(日期) | 1~31 的整數 | ,和 -和 *和 /和?和L和W和C |
5 | Month(月份) | 1~12 的整數或者 JAN-DEC | ,和 -和 *和 / |
6 | Day-of-Week(星期) | 1~7 的整數或者 SUN-SAT | ,和 -和 *和 /和?和L和W和C |
7 | Year (可選字段) | 1970~2099 | ,和 -和 *和 / |
字符 | 適用域 | 含義 | 實例 |
---|---|---|---|
* | ALL | 表示匹配該域的任意值。 | |
? | 只在DayofMonth 和 DayofWeek | 也表示匹配域的任意值,但實際不會。因為 DayofMonth 和 DayofWeek 會相互影響。 | 例如想在每月的 20 日觸發調度,不管 20 日到底是星期幾,則只能使用如下寫法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用,如果使用表示不管星期幾都會觸發,實際上并不是這樣。 |
- | ALL | 表示范圍。 | 例如在 Minutes 域使用 5-20,表示從 5 分到 20 分鐘每分鐘觸發一次 |
/ | ALL | 表示起始時間開始觸發,然后每隔固定時間觸發一次。 | 例如在 Minutes 域使用 5/20, 則意味著 5 分鐘觸發一次,而 25,45 等分別觸發一次. |
, | ALL | 表示列出枚舉值。 | 例如:在 Minutes 域使用 5,20,則意味著在 5 和 20 分每分鐘觸發一次。 |
L | 只在DayofMonth 和 DayofWeek | 表示最后。 | 如果在 DayofWeek 域使用 5L, 意味著在最后的一個星期四觸發。 |
W | DayofMonth | 表示有效工作日 (周一到周五)。系統將在離指定日期的最近的有效工作日觸發事件。 | 例如:在 DayofMonth 使用 5W,如果 5 日是星期六,則將在最近的工作日:星期五,即 4 日觸發。如果 5 日是星期天,則在 6 日 (周一) 觸發;如果 5 日在星期一到星期五中的一天,則就在 5 日觸發。另外一點,W 的最近尋找不會跨過月份 。 |
LW | DayofWeek | 這兩個字符可以連用,表示在某個月最后一個工作日。 | 有可能不是星期五,例如:某個月的 31 號為周二,那么此滿足最后一個工作日,但不是周五。 |
# | DayofMonth | 用于確定每個月第幾個星期幾。 | 例如在 4#2,表示某月的第二個星期三。 |
在線 Cron 表達式生成器
4、參考:Cron 表達式詳解 - Be yourself. - CSDN 博客
注:特別棒的一個教程。最全的 Cron 表達式教程
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75151.html
摘要:多線程并發定時任務剛剛看了下實現定時任務的文章,感覺還不錯。存在問題但是后來發現個問題,通過同時測試幾個任務發現,所有的任務都是在同一個線程池中的同一個線程來完成的。 spring-boot | 多線程并發定時任務 剛剛看了下Spring Boot實現定時任務的文章,感覺還不錯。Spring Boot 使用Spring自帶的Schedule來實現定時任務變得非常簡單和方便。在這里個大家...
閱讀 3250·2021-10-21 17:50
閱讀 3260·2021-10-08 10:05
閱讀 3386·2021-09-22 15:04
閱讀 586·2019-08-30 14:00
閱讀 1946·2019-08-29 17:01
閱讀 1512·2019-08-29 15:16
閱讀 3222·2019-08-26 13:25
閱讀 856·2019-08-26 11:44