我正在运行一个春季启动计划过程,需要5-10秒才能完成。完成后,再过程开始60秒(注意我没有使用fixedRate):
@Scheduled(fixedDelay=60_000)
现在,我希望将其限制为每周一至周五上午9点至下午5点运行。我可以用
完成这个@Scheduled(cron="0 * 9-16 ? * MON-FRI")
问题在于这类似于fixedRate - 无论完成上一次运行所花费的时间多少,该过程都会触发60秒...
任何方法将这两种技术结合起来?
答案 0 :(得分:1)
您可以将固定延迟(以及任何其他数量的可选参数)传递给注释,如下所示:
@Scheduled(cron="0 * 9-16 ? * MON-FRI", fixedDelay=60_000)
答案 1 :(得分:1)
尝试一下:
@Schedules({
@Scheduled(fixedRate = 1000),
@Scheduled(cron = "* * * * * *")
})