想要实现的结果是这样的:从今天(2020-07-17)起,每隔3天执行一次job,cron表达式这样写:0 30 8 2/3 ?
理论上到7月29号,间隔3天接下来应该是8月1号,这里是8月2号,查了下是因为2/3表示每隔3天,从每月的第二天开始运行.这样就会有问题,无法保证间隔3天连续,因为每个月份的天数是不一样的,31天和30天这样就会导致会按照3天的间隔漏掉某个日期,请教各位如何解决这个问题?
想要实现的结果是这样的:从今天(2020-07-17)起,每隔3天执行一次job,cron表达式这样写:0 30 8 2/3 ?
理论上到7月29号,间隔3天接下来应该是8月1号,这里是8月2号,查了下是因为2/3表示每隔3天,从每月的第二天开始运行.这样就会有问题,无法保证间隔3天连续,因为每个月份的天数是不一样的,31天和30天这样就会导致会按照3天的间隔漏掉某个日期,请教各位如何解决这个问题?
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
换个角度方式来实现, 表达式为 每天8点30分执行, 执行的脚本內,找一个地方不管是缓存, 文件还是变量都可以,每次执行前,现对比上次记录的执行时间,如果时间大于2天,就重写时间,然后运行,否则就退出
一般设置计划任务,都会尽量避免出现这种情况,都会选择能被整除的间隔,如果不行,就使用计划任务和程序內控制一些协同控制.