有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java spring cron,每小时运行35分钟

我有一个作业计划每小时运行一次,我正在使用SpringCron(0/35***)。我希望作业每小时在35分钟运行,但我注意到作业在35分钟触发,也在最高峰触发。我不知道为什么,有什么建议吗

谢谢, 卡提克


共 (4) 个答案

  1. # 1 楼答案

    您的cron表达式不正确,请将其更改为0 */35 * * *,该表达式仅每35分钟运行一次

  2. # 2 楼答案

    根据Spring CronSequenceGenerator docs,在0 0/35 * * *中的/35实际上意味着“每分钟是35的倍数”,其中包括0-如果您只希望它在每小时后35分钟触发,只需使用0 35 * * * *(其中包括它想要的所有6个参数)

  3. # 4 楼答案

    对。Cron在每小时开始时开始几分钟(正如我们提到的*for hour字段)。实现目标的另一种方法(每35分钟执行一项任务)如下所示-

    Make your cron trigger for every 5 minutes and increment a counter everytime the cron is triggered. Once the counter reaches 7 (i.e. 35 mins in your case), execute your goal and set the counter back to 0.

    如果你想在每小时的第35分钟实现你的目标,你应该试试

    35 * * * *
    

    希望这有帮助