如何配置Spring Scheduler每月于月末前6天执行任务?
可以配置Spring Scheduler实现每月距离月末6天执行任务
完全可以通过CRON表达式实现这个需求,Spring Scheduler支持标准CRON语法,其中L关键字代表月份最后一天,结合偏移量就能定位到距离月末指定天数的日期。
对应的CRON表达式
根据需求的精准语义,分两种情况给出表达式:
- 若需求是每月倒数第6天执行(即执行当天距离月末还有5天,比如31天的月份为26号,30天的月份为25号):
0 0 0 L-5 * ?
- 若需求是距离月末还有6天的当天执行(即执行当天距离月末还有6天,比如31天的月份为25号,30天的月份为24号):
0 0 0 L-6 * ?
表达式说明
0 0 0:指定任务在每天0点0分0秒执行,可根据实际需求调整时分秒L-5/L-6:L代表月末日期,L-N表示月末往前推N天,自动适配28/29/30/31天的不同月份*:匹配任意月份?:由于已指定日期字段,用?忽略星期字段的匹配(CRON语法中日期和星期不能同时指定具体值)
内容的提问来源于stack exchange,提问作者Mykoliux
相关产品推荐
相关产品推荐

