当前位置: 首页 > 知识库问答 >
问题:

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

邰伟彦
2023-03-14

所有人,

有没有一种方法,我可以使用spring调度器,改变基于一天的时间的固定费率?

对于例如:一个方法应该在10-12AM以1000ms的速率运行,然后在12AM之后切换到5000ms

还是必须用不同的cron创建多个方法?

共有1个答案

山煜祺
2023-03-14

使用@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之间,每一天,每一个月,每一周的每一天

在这里和这里查看更多信息

 类似资料:
  • 我正在模拟一个外科病房,其中有3种不同的病人类型(红色病人,蓝色病人和绿色病人)根据一个时间表进入。根据病人的类型(红色、蓝色或绿色),手术时间不同。红色:30分钟。蓝色:1小时,绿色:2小时。我正在使用延迟块来模拟手术时间。如何使延迟时间基于进入的患者类型? 例如:延迟时间为30分钟。当一个红色的病人进入延迟块,但如果一个蓝色的进入1小时? 谢谢!

  • 我正在开发一个应用程序,它需要每x分钟上线一次,检查一些新数据。为了防止大量的网络和数据使用,任务应该以固定的速率运行,但是这种解决方案的最佳方法是什么?< code >处理程序或< code >计时器对象?

  • 我正在尝试在延迟后在wiremock中生成响应,其中延迟来自传入的请求。e、 g请求中用户的姓氏是“delay_10000”,然后延迟10000毫秒,或者delay_20000,然后延迟20000。。。。。 谁能确认哪些字段可以模板化吗。doco建议使用“响应头和正文”,其他地方建议使用bodyFileName(我正在使用),但它没有说明其他响应字段是否可以模板化。 现在我看到了 首先,我可以看到

  • 问题内容: 有什么技巧可以基于Redis延迟任务执行(即计划)? 也许一些聪明的方法可以将BLPOP延迟给定的秒数? 问题答案: 您可以使用名称中带有时间成分的多个LIST环。作为时间成分,您可以采用当前秒(0-59)。 您总是将任务添加到当前秒的列表中。要获得作业,请仅在保证内容早于给定秒数的那些列表上执行BLPOP(低超时)。 如果您在多个主机上工作,则必须注意时钟是同步的(NTP)。

  • 我一直在学习spring Webflux和reactive programming,并陷入了一个问题,我试图解决的重试逻辑使用spring WebClient。我已经创建了一个客户机,并成功地调用了一个外部Web服务GETendpoint,该endpoint返回一些JSON数据。 当外部服务以状态响应时,响应包括标头,该标头具有一个值,指示在重试请求之前应等待多长时间。我想在spring WebF

  • AngularJS自1.3.0-beta.10版本以来有一个新功能:“惰性一次性绑定”。 简单表达式的前缀可以是<代码>:: ,告诉angular在首次计算表达式后停止监视。给出的常见示例如下: 下面的表达式有类似的语法吗?