我有一个特定的场景,我需要在每天00:00 AM为不同的时区运行一个调度程序。目前,我正在使用固定速率为10分钟的spring调度程序,这样我就不会错过任何时区(虽然不是一个理想的解决方案!)。但我需要的是,我希望这个调度程序在特定的时间运行,而不是每10分钟运行一次。详细解释一下
- 假设我有3个时区:T1、T2和T3。
- 我希望调度程序一天只触发3次。分别是T1、T2和T3的00:00 AM。
- 我不想为此编写3个调度程序,因为业务逻辑是相同的。
springs scheduler是否提供了在不同时区运行调度程序的灵活性?如果没有,是否有任何库可以为我们做这项工作?
1条答案
按热度按时间waxmsbnn1#
您可以尝试使用quartz来创建基于cron的触发器。Spring对quartz有一个原生支持,它具有spring-boot-starter-quartz依赖性。如果您对批处理感兴趣,我将从用于spring批处理的https://www.baeldung.com/spring-quartz-schedule和https://howtodoinjava.com/spring-batch/batch-quartz-java-config-example开始。Quartz对单个作业也支持多个触发器。