作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想触发这个月的倒数第二个星期。
通常,这是该月的最后一个星期五(例如:30/06/2017)
0 0 0 ? * FRIL
我想要倒数第二个(例如:23/06/2017)
0 0 0 ? * FRIL-1
但此语法返回与以前相同的结果(使用 Quartz 调度程序和 cronmaker)
当月的倒数第二周可能出现在当月的第 3 周或第 4 周。所以它是:
either : 0 0 0 ? * FRI#3
or : 0 0 0 ? * FRI#4
你有什么建议吗?
最佳答案
我不认为你可以使用 cron 语法来表达它。
不过,我可以想到一些解决方法:
您可以安排每个星期五的工作,并有一些工作中的逻辑来检查它是否真的是倒数第二个,然后再继续。
另一种选择是为上周五创建一个虚拟 cron 触发器,检索“下一次启动时间”,从该日期减去 7 天并使用该确切日期创建实际触发器——但您会必须每周都这样做(通过预先安排多个触发器,或者让您的作业在每次运行后重新安排自己)。
关于java - 一个月中倒数第二个星期的 Cron 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785394/
我是一名优秀的程序员,十分优秀!