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