gpt4 book ai didi

Spring Boot CRON 表达式无法正常工作

转载 作者:行者123 更新时间:2023-12-04 16:05:55 25 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,它将创建一个 JAR 文件。在这个应用程序中,我有两个作业要执行。一个作业是 master 作业,它将数据保存在 MySQL 数据库中,第二个作业执行一些计算并准备一些报告。

我需要每 15 分钟执行一次主作业,每 20 分钟执行一次第二个作业。所以我使用 Spring Corn 表达式“* */15 * * * ”作为主要工作,“ */20 * * * *”作为第二份工作。但是作业执行的行为非常突然。我在这里做错了什么?

最佳答案

新答案你是对的,我亲自测试过它的工作正常

在 java 中使用以下代码测试 cron 执行

CronTrigger t = new CronTrigger("* */15 * * * * ");
TriggerContext tc = new SimpleTriggerContext();
System.out.println("Current Time:" + new Date()+ " |Next Execution " + t.nextExecutionTime(tc));
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Now use today date.
c.add(Calendar.MINUTE,16);
tc = new SimpleTriggerContext(c.getTime(),c.getTime(),c.getTime());
System.out.println("Current Time:" +c.getTime() + "Next Execution " + t.nextExecutionTime(tc));
c.add(Calendar.MINUTE,18);
tc = new SimpleTriggerContext(c.getTime(),c.getTime(),c.getTime());
System.out.println("Current Time:" + c.getTime() + "Next Execution " + t.nextExecutionTime(tc));

这里是导入

import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.scheduling.support.SimpleTriggerContext;

import java.util.Calendar;
import java.util.Date;

旧答案

您错误地将第一份工作安排在每天下午 3 点正确的 cron 是 */15 * * * *使用

@Scheduled(cron = "*/15 * * * *")

您错误地将第二份工作安排在每天晚上 8 点正确的 cron 是 */20 * * * *

请参阅 cron 选项卡 http://corntab.com/?c=*/20_*_*_*_*_

关于Spring Boot CRON 表达式无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48779986/

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