Spring Boot计划任务运行整个小时而不是一小时

时间:2018-03-05 21:51:08

标签: spring-boot cron scheduled-tasks

Spring Boot here。我有以下计划任务:

@Component
public class AdminWatchdog {
    @Autowired
    private EmailService emailService;

    // Ctors, getters & setters here

    @Scheduled(cron = "'* * */12 * * *")
    public void runReports() {
        // Doesn't matter what it does, really
    }
}

当我运行它时,它似乎每分钟或每秒发射一次(基于日志不能告诉)在每天的第12小时的整个持续时间内发射!

我只希望此任务每天中午(中午12点)运行一次。 Spring cron是否配置错误,或者我的应用程序中是否还有其他内容?

1 个答案:

答案 0 :(得分:3)

你的cron不正确。每天中午每天都要运行你的工作

"0 0 12 * * ?"

如果你理解每个角色代表的是什么,这个表达是非常自我解释的

     0          0        12       *            *           ? 
  <second> <minute> <hour> <day-of-month> <month> <day-of-week>

供您参考。您可以使用http://www.cronmaker.com/之类的工具来设计您的cron