gpt4 book ai didi

java - 每隔 24 小时安排一次

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:52:52 25 4
gpt4 key购买 nike

我想知道安排代码的最佳方法。我有一个代码可以生成报告并每隔 24 小时向一组人发送邮件。它是一个基于控制台的 Java 应用程序。我想知道安排它的最佳方法。有时我可能需要将其更改为 12 小时间隔。但是,应用程序不会在间隔之间执行任何其他任务。

最佳答案

这里有几种方法,从最简单到最全面:

  1. sleep ():

    TimeUnit.HOURS.sleep(24)

    这个做法很简单,干活24小时 sleep 。实际上它有点复杂,因为报告生成需要一些时间,所以你必须睡得稍微短一些。以下所有解决方案都会透明地处理此问题。

  2. java.util.Timer#scheduleAtFixedRate() - 简单的内置 Java 解决方案。

  3. 中的
  4. @Scheduled 注释或 中的 @Schedule - 更复杂但也更强大,例如接受 表达式:

    @Scheduled(fixedRate=DateUtils.MILLIS_PER_DAY)
    public void generateReport() {
    //...
    }
  5. - 成熟的 Java 调度程序,具有集群和故障转移、失火处理、完整 支持等。非常全面:

    newTrigger().
    withSchedule(
    simpleSchedule().
    withIntervalInHours(24).
    repeatForever()
    ).build();

    newTrigger().
    withSchedule(
    cronSchedule().
    dailyAtHourAndMinute(17, 30). //17:30
    ).build();

关于java - 每隔 24 小时安排一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com