【发布时间】:2023-04-01 08:19:01
【问题描述】:
我每 30 分钟运行一次春季工作:- 假设当前时间是下午 1:55,现在应该在下午 2:25、下午 2:55、下午 3:25 等运行。
这个 cron 表达式对我不起作用:- "0 0/30 * * * ?"
【问题讨论】:
-
可能问题不在您的 cron 表达式中。请发布有关项目配置的其他信息。
标签: spring cronexpression
我每 30 分钟运行一次春季工作:- 假设当前时间是下午 1:55,现在应该在下午 2:25、下午 2:55、下午 3:25 等运行。
这个 cron 表达式对我不起作用:- "0 0/30 * * * ?"
【问题讨论】:
标签: spring cronexpression
此时间规范将在每天每小时的第 25 分钟和第 55 分钟运行您的工作:
25,55 * * * *
【讨论】:
@Scheduled(cron="0 0/30 * * * ?") 将在到达任何 *:30 或 *:00 时首先触发。因此,在您的情况下,它将在下午 2:00、下午 2:30、下午 3:00 等触发。
如果您希望作业每 30 分钟运行一次。您可以使用 fixedRate 或 fixedDelay。
@Scheduled(fixedRate = 1800000) 将首先在下午 1:55 触发您的工作。如果要跳过第一次迭代,可以添加 initialDelay=1800000。
【讨论】:
25,55 * * * * 你的命令 >/dev/null 2>&1
即使没有经验,您也可以通过此网站轻松生成 crontab。
问题是你必须知道你的 cron 作业的开始时间。
【讨论】: