繁体   English   中英

如何在 @scheduled spring 引导中给出固定延迟和初始延迟分钟?

[英]How to give minute in fixedDelay & initialDelay in @scheduled spring boot?

我是 spring 调度程序的新手。 我在@schedule 上阅读了很多文章,但在每个示例中,它们都以秒和毫秒为单位给出了时间。

问题陈述:根据我的要求,在我的程序启动后,我的调度程序将在 15 分钟后启动(初始延迟),然后每隔 5 分钟执行一次任务(FixedRate)。 为了实现这一点,我怎么能在几分钟内给时间是他们解决这个问题的最佳方法?

代码:

@Configuration
@EnableScheduling
public class ScheduledConfiguration {
    @Scheduled(fixedDelay = 300000, initialDelay = 900000)
    public void scheduleFixedRateWithInitialDelayTask() {

        long now = System.currentTimeMillis() / 1000;
        System.out.println("Fixed rate task with one second initial delay - " + now);
    }
}

通过使用上面的程序,我可以实现,但我想避免 300000 / 900000 毫秒。 另一种方式

@Scheduled(fixedDelay = 5 * 60 * 1000, initialDelay = 15 * 60 * 1000)

好吧,fixedDelay 和 initialDelay 都接受以毫秒为单位的值。 因此,您可以使用 go :

@Scheduled(fixedDelay = 300000, initialDelay = 900000)

或者:

@Scheduled(fixedDelay = 5 * 60 * 1000, initialDelay = 15 * 60 * 1000)

虽然聚会有点晚了,但Spring的另一种方法

@Scheduled(fixedDelayString = "PT15M", initialDelayString = "PT2H")

在这里您可以找到有关语法的详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM