Spring Cron 表达式排除某一天在设定时间内运行的作业

标签 spring cron

我有一个作业,每小时通过 Spring cron 表达式在每小时过 15 分钟提交一次。提出了一项要求,即该作业不得在周日早上的中午 12:15 和凌晨 1:15 运行。

我的问题是... cron 是否支持这种情况,即作业每小时运行一次,除了周日的中午 12:15 和凌晨 1:15 之外?下面是阻止它在每天凌晨 12:15 和凌晨 1:15 运行的表达式,需要将其调整为仅在周日的这些时间不运行。

@Scheduled(cron = "0 15 2-23 * * ?")   

希望以上内容已经清楚。如果没有,请告诉我,我将提供更多信息。

提前谢谢您。

最佳答案

如果想在特定的两天内运行作业,可以将日期与逗号一起写下。

示例:@Scheduled(cron = "0 15 2-23 * * SUN,MON)

此外,如果您想包含所有工作日,可以使用周一至周五:

示例:@Scheduled(cron = "0 15 2-23 * * MON-FRI)

关于Spring Cron 表达式排除某一天在设定时间内运行的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781117/

相关文章:

java - 没有 xml 配置的 Spring @Async

java - 如何配置log4j只保留最近n天的日志文件?

在特定时间运行多个命令的linux脚本

linux - 在 cron 作业中为 url 提供凭据

java - 使用 cron 作业从特定 jar 运行 java 类

java - Spring 新手 : The url-pattern for my DispatcherServlet seems to 'override' the welcome-file

java - 使用 FlexJSON 反序列化多对一关系

linux - 在 cron 作业中运行脚本

java - Spring Boot 批处理 - 读取 XML 输入 - 将元素转换为列表

java - Spring MVC 异步方法 (RXJava)