是否有可能为java中的石英调度器创建一个表达式,该表达式每15分钟运行一次作业,但应该跳过从周六晚上9点到周日早上6点的作业运行?因此,就像作业将每周7天每15分钟运行一次,但不应该从周六晚上9点运行到周日早上6点(因为当时有一些维护活动)。
您可以使用石英日历排除某些日期和/或时间段。为了支持您的用例,您有两个选择:
-
通过实现
org.quartz.Calendar
或扩展org.quartz.BaseCalendar
实现自定义日历。在内部,您的自定义日历可以使用下面描述的两个CronCalendar实现。 -
使用两个"chained"CronCalendars。通过链接,我的意思是使用一个日历作为另一个日历的基本日历。第一个日历将不包括周六晚上9点到午夜,第二个日历将不包括周日早上00点到早上6点。以下是这两个日历使用的cron表达式:
-
- 研讨会吗?*坐
-
- 00-05吗?*太阳
下面是一些示例,展示如何在代码中使用日历:
http://www.quartz - scheduler.org/documentation/quartz 2.3.0/tutorials/tutorial教训- 04. - html
https://www.javarticles.com/2016/06/quartz-calendar-example.html