我正在尝试为石英编写一个 cron 表达式,除了每月的第二个星期六之外,它每天每小时运行一次。
因此,通过使用“#”符号,我试图编写如下表达式:
0 0 * ? * SUN-FRI,SAT#1,SAT#3,SAT#4,SAT#5
此表达式无法正常工作。此外,quartz 不会抱怨 cron 格式(quartz 通常会抱怨错误的 cron 表达式)。
所以我今天做了一些其他的实验。所以,今天是本月的第三个星期四,我在玩 THU#N 符号,这就是我目前发现的(我将表达式更改为分钟,以便于实验):
0 * * ? * SUN-FRI,SAT#1,SAT#3,SAT#4,SAT#5
: 未触发
0 * * ? * THU#3
: 触发
0 * * ? * THU#3,THU#4
: 未触发
0 * * ? * THU#2,THU#3
: 触发
我知道我可以简单地将其拆分为 4 个额外的表达式,但在我的真实场景中,我有大量的表达式要更改,这会将我的表达式列表增加到 5 倍。
简而言之:有谁知道如何浓缩这些:
0 0 * ? * SUN-FRI
/ 0 0 * ? * SAT#1
/ 0 0 * ? * SAT#3
/ 0 0 * ? * SAT#4
/0 0 * ? * SAT#5
...进入单个 cron 表达式?
注意:我使用的是quartz scheduler 1.5(我知道,我知道......已经过时了)