我正在使用 Quartz 库来安排Thread
(使用Jobs
)。
我的老板问我是否可以用 Quartz 解决这种情况:
有一个进程必须仅在一周中的几天的 00:00hs、5:00hs、9:00hs 和其他不同时间执行。如您所见,重复没有固定的间隔。有 5 到 6 个不同的时间。
有没有ScheduleBuilder
办法解决这种情况?
我试过了,DailyTimeIntervalScheduleBuilder
但这个时间表在固定的时间间隔内工作。
我正在使用 Quartz 库来安排Thread
(使用Jobs
)。
我的老板问我是否可以用 Quartz 解决这种情况:
有一个进程必须仅在一周中的几天的 00:00hs、5:00hs、9:00hs 和其他不同时间执行。如您所见,重复没有固定的间隔。有 5 到 6 个不同的时间。
有没有ScheduleBuilder
办法解决这种情况?
我试过了,DailyTimeIntervalScheduleBuilder
但这个时间表在固定的时间间隔内工作。
简单的解决方案是每小时安排一次工作。并在 Job 检查当前时间以查看它是 00.00 或 05.00 还是 09.00。如果是,做你的工作,否则什么都不做。
这很简单,如果您使用 CronTrigger ,请参阅:http: //quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger。
这样,您将能够使用类似于 Unix cron 表达式的表达式仅在特定时间安排作业。
对于您的情况,如果您想在每个工作日的 0、5 和 9 小时开始工作,您将使用如下表达式0 0 0,5,9 ? * MON-FRI