当前位置: 首页 > 面试题库 >

如何配置Spring Scheduled Task在特定延迟的时间范围内运行?

江浩慨
2023-03-14
问题内容

我需要设置 春季计划时间 ,从下午5点到上午8点每15分钟执行一次,如何指定这种表达方式?而且我还希望任务在工作日不仅执行MON-
FRI,而且要根据我对isBusinessDay逻辑的实现来执行。


问题答案:

Maven依赖

部分Spring上下文

 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springframework.version}</version>
  </dependency>

配置以启用调度

参考文献

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;

@Configuration
@EnableScheduling
public class MyAppConfig {
//..
}

在您指定的Cron上触发的方法

参考文献

// 0/15 -> Every 15 minutes on the clock
// 17-20 -> Between 5pm and 8pm on the JVM timezone
// if you want timezone specific there is a 'zone' parameter: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/annotation/Scheduled.html#zone--
@Scheduled(cron="0 0/15 17-20 * * ?")
public void doSomething() {
    // ..
}

文献资料

关于调度的Spring文档

春季靴

为上述cron运行的安装程序的Spring Boot示例



 类似资料:
  • 问题内容: 嗨,我正在尝试检查当前时间是否在某个时间范围内,例如8:00-16:30。下面的代码显示可以将当前时间作为字符串获取,但是不确定如何使用此值来检查它是否在上面指定的时间范围内。任何帮助将不胜感激! 问题答案: 有很多方法可以做到这一点。就我个人而言,如果可以避免的话,我不喜欢使用字符串。我宁愿处理日期组件。 下面的代码创建的日期为8:00和16:30,然后比较日期以查看当前日期/时间是

  • 问题内容: 我的网站上有这片js可以切换图像,但是第二次单击图像时需要延迟。延迟应为1000ms。因此,您将单击img.jpg,然后将出现img_onclick.jpg。然后,您将单击img_onclick.jpg图像,然后应该有1000ms的延迟,然后才能再次显示img.jpg。 这是代码: 问题答案: 用途 :

  • 问题内容: 我需要检查当前时间是否在8 AM和3 PM之间。如果在这些时间范围之间,那么我需要返回yes,否则返回false。 但是我不确定我应该在这里使用吗?我可以不使用时间戳并相应地检查时间戳吗?什么是正确的方法? 我仍在使用Java 7。 问题答案: 如果您使用的是Java 8之前的Java版本,请查看Joda的API文档。 具体来说,有一个AbstractInterval#contains

  • 如何将Airflow dag配置为每天在指定时间执行,无论发生什么,就像crons一样。 我知道使用 TimeSensor 可以获得类似的行为,但在这种情况下,这取决于传感器任务,并且可能与 dag 执行时间冲突。 示例:对于传感器方法,如果我让传感器在0小时15分钟运行,但如果dag在稍后执行,则我的任务会延迟,因此即使对于传感器方法,我也需要确保Dag在正确的时间执行。 那么如何确保Dag在指

  • 我有一个主题,它发出不同的和值 我想延迟值。如果发出了-值,而延迟是“延迟”,那么什么都不应该发生(应该是“无值更改”)。 考虑这张桌子 我希望情况很清楚。

  • 问题内容: 如何在Python中进行时间延迟? 问题答案: 这是另一个示例,其中某件事大约每分钟运行一次: