关于cron表达式的问题

想要实现的结果是这样的:从今天(2020-07-17)起,每隔3天执行一次job,cron表达式这样写:0 30 8 2/3 ?

image.png

理论上到7月29号,间隔3天接下来应该是8月1号,这里是8月2号,查了下是因为2/3表示每隔3天,从每月的第二天开始运行.这样就会有问题,无法保证间隔3天连续,因为每个月份的天数是不一样的,31天和30天这样就会导致会按照3天的间隔漏掉某个日期,请教各位如何解决这个问题?

阅读 2.4k
1 个回答

换个角度方式来实现, 表达式为 每天8点30分执行, 执行的脚本內,找一个地方不管是缓存, 文件还是变量都可以,每次执行前,现对比上次记录的执行时间,如果时间大于2天,就重写时间,然后运行,否则就退出

一般设置计划任务,都会尽量避免出现这种情况,都会选择能被整除的间隔,如果不行,就使用计划任务和程序內控制一些协同控制.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题