Spring Boot Job Scheduler fixedDelay和cron

时间:2018-09-12 14:09:53

标签: java cron scheduler

我正在运行一个Spring Boot计划的过程,需要5-10秒才能完成。完成后,经过60秒钟,该过程才再次开始(请注意,我没有使用fixedRate):

@Scheduled(fixedDelay=60_000)

N 现在,我希望将其限制在周一至周五的上午9点至下午5点运行。我可以用

来完成
@Scheduled(cron="0 * 9-16 ? * MON-FRI")

这里的问题是,它的行为类似于fixedRate-无论完成上一次运行需要花费多少时间,该过程都会触发每60秒一次...

有什么方法可以将两种技术结合起来?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

@Schedules({ 
  @Scheduled(fixedRate = 1000), 
  @Scheduled(cron = "* * * * * *")
})