【问题标题】:Cron expression running every 30 mins每 30 分钟运行一次 Cron 表达式
【发布时间】:2023-04-01 08:19:01
【问题描述】:

我每 30 分钟运行一次春季工作:- 假设当前时间是下午 1:55,现在应该在下午 2:25、下午 2:55、下午 3:25 等运行。

这个 cron 表达式对我不起作用:- "0 0/30 * * * ?"

【问题讨论】:

  • 可能问题不在您的 cron 表达式中。请发布有关项目配置的其他信息。

标签: spring cronexpression


【解决方案1】:

此时间规范将在每天每小时的第 25 分钟和第 55 分钟运行您的工作:

25,55 * * * *

【讨论】:

  • 喜欢“0 0,10 * * * ?”所以它会在每小时的第 0 分钟和第 10 分钟触发。
  • 那就是 0,10 * * * * 第一个字段指定小时的分钟数。您在评论中提供的示例将在每天 00:00 和 10:00 运行 cron 作业。
【解决方案2】:

@Scheduled(cron="0 0/30 * * * ?") 将在到达任何 *:30 或 *:00 时首先触发。因此,在您的情况下,它将在下午 2:00、下午 2:30、下午 3:00 等触发。

如果您希望作业每 30 分钟运行一次。您可以使用 fixedRate 或 fixedDelay。

@Scheduled(fixedRate = 1800000) 将首先在下午 1:55 触发您的工作。如果要跳过第一次迭代,可以添加 initialDelay=1800000。

【讨论】:

    【解决方案3】:

    25,55 * * * * 你的命令 >/dev/null 2>&1

    即使没有经验,您也可以通过此网站轻松生成 crontab。

    问题是你必须知道你的 cron 作业的开始时间。

    http://crontab-generator.org/

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 2022-12-18
      • 2021-09-03
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多