我对Spring Boot应用程序中的@Scheduled任务有疑问
我有一些微服务,每个月都会发送一封电子邮件。我有@Scheduled(cron =“每月表达”)。但是,仅想象一下我已经将该服务运行了15天(但是我们需要30天发送电子邮件),并且在16天后该服务重新启动或崩溃,并在一段时间后再次唤醒。这项工作会从第一天开始重新计算1个月,还是继续进行16天等等?
@Scheduled(cron="0 0 0 1 * *")
public void sendEmail() {
emailService.sendEmail();
}
我需要服务器崩溃后的15天,该任务从15天开始继续,并在15天后发送了一封信,但从第一天起就没有再次计数
答案 0 :(得分:0)
使用此cron:
0 0 0 1 * *
无论服务器何时启动,这都会在每个月的第一天运行调度程序。
答案 1 :(得分:0)
cron
表达式旨在在每天或每月或每周的特定日期运行工作,我认为您的理解是错误的。您在特定日期的玉米表达量,但对于时段跟踪则没有,jamesbirtles.svelte-vscode使用该在线生成器获取更多信息
0 0 0 1 * ? *
上面的表达式旨在运行At 00:00:00am, on the 1st day, every month