spring调度器基于时间的固定延迟

epfja78i  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(315)

全部,
有没有一种方法可以使用spring调度程序根据一天中的时间更改fixedrate?
例如:一个方法应该以1000ms的速率运行10-12am,然后在12am之后切换到5000ms
或者我必须用不同的cron创建多个方法吗?

t9eec4r0

t9eec4r01#

使用@scheduled,尝试以下操作:

@Component
public class ScheduledConfiguration {

    @Scheduled(cron = "* * 10-11 * * ?")
    @Scheduled(cron = "0/5 * 0-9,12-23 * * ?")
    public void execScheduledTask() {
        System.out.println("Now: " + new Date());
    }

}

您需要使用两种cron配置:

10-11?:每一秒,每一分钟,如果今天的小时部分是10或11,那么每一天,每一个月,每一周的每一天。

0/5*0-9,12-23**?:从0秒开始的每5秒,每分钟,如果今天的小时部分在0到9之间或12到23之间,则每天,每月,每周的每一天
更多关于这里和这里的信息

相关问题