问题描述
我正在尝试为spring @Scheduled注释编写cron表达式,应在晚上8点至凌晨6点之间的10分钟间隔内执行-
@Scheduled(cron = "0 */10 20-06 * * MON-FRI",zone = "America/New_York")
但是,以上cron给出了“无效的反向范围”异常。当我尝试
@Scheduled(cron = "0 */10 20-23,0-6 * * MON-FRI",zone = "America/New_York")
然后它不在23和0之间运行。 有什么办法可以写一个cron表达式,它也可以覆盖23到0个小时。
解决方法
下面的使用应从晚上8点开始至早上6点
*/10 20,0-6 * * MON-FRI (min hour day month week)
上面的表达式转换为-
,在第20小时的每10分钟以及从0到6的每小时 从星期一到星期五的每个星期的一天
我希望您的第二个例子能奏效。不确定这是否是Spring实施中的错误。好像是这样。
这很漫长,但是您总是可以枚举整个值列表。
... 20,21,22,23,1,2,3,4,5,6 ...