cron - Quartz Cron 表达式问题@每月作业失败
问题描述
我有一个用例,我想从 1 月开始的每个月的第一个星期五下午 2:30 开始执行每月工作。
我使用的 Cron 表达式:-
0 30 14 ? 1/1 6#1
这绝对没问题。
点火时间示例:-
Fri Jan 03 14:30:00 UTC 2020
Fri Feb 07 14:30:00 UTC 2020
Fri Mar 06 14:30:00 UTC 2020
Fri Apr 03 14:30:00 UTC 2020
Fri May 01 14:30:00 UTC 2020
Fri Jun 05 14:30:00 UTC 2020
Fri Jul 03 14:30:00 UTC 2020
但是如果我使用相同的表达式并使用十二月作为开始月份
0 30 14 ? 12/1 6#1
这开始失败:-
Fri Dec 04 14:30:00 UTC 2020
Fri Dec 03 14:30:00 UTC 2021
Fri Dec 02 14:30:00 UTC 2022
Fri Dec 01 14:30:00 UTC 2023
这种变成每年一次。
我没有看到我正在使用的表达式有任何问题。我们如何解决这个问题或解决方法?
解决方案
IMO 这意味着每 12 个月 = 每年 12 月,它与
0 30 14 ? 12 6#1
你的第一条记录等于
0 30 14 ? * 6#1
(星号平均每月)
推荐阅读
- java - java.security.SignatureException:对象未初始化以进行签名
- python - 如何对数据框列中的多个值求和,如果它们对应于另一列中的 1 个值
- google-sheets - 如何使用 arrayformula 引用以前的匹配记录?
- angular - textarea中JSON格式的格式字符串?
- msbuild - MSBuild 在错误的地方寻找 Microsoft.VisualBasic.Core.targets
- mysql - 未正确编码的 unicode 值
- javascript - DataTables - 请求的未知参数
- reactjs - How do I combine existing InputProps with additional InputProps in child component
- django - Add sitemap on external server to Django Sitemap
- javascript - Disable button if checkboxes are unchecked - across groups - in an ajax response