SpringBoot/SpringCloudAlibaba(ruoyi)中cron表达式(配置每天指定整点执行)读取配置文件

深碍√TFBOYSˉ_ 2023-09-30 19:16 100阅读 0赞

场景

若依微服务版手把手教你本地搭建环境并运行前后端项目:

若依微服务版手把手教你本地搭建环境并运行前后端项目_霸道流氓气质的博客-CSDN博客

在上面的基础上某业务需要配置cron表达式,该表达式需要指定每天的指定的整点执行,

比如每天6点、12点、18点、24点执行,又或者是每天6点、14点、24点执行的模式。

上面使用的是nacos作为配置中心,但是为了避免nacos持久化的数据库不是公共库,这里没将

cron表达式配置进nacos中,而是将其配置在bootstrap.yml中,仅作为演示。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、首先在bootstrap.yml中添加配置的cron表达式

  1. fzys:
  2. nologin:
  3. scan: "0/10 * * * * ? "

这里的表达式为10秒一次,具体自己配置。

注意这里使用双引号包含。

2fd6d85e25754b75b449cb6041568d36.jpeg

2、然后在定时任务配置表达式的地方引入

  1. import org.springframework.scheduling.annotation.EnableScheduling;
  2. import org.springframework.scheduling.annotation.Scheduled;
  3. import org.springframework.stereotype.Component;
  4. @Component
  5. @EnableScheduling
  6. public class NoLoginRecordTask {
  7. @Scheduled(cron = "${fzys.nologin.scan}")
  8. public void scanNoLoginEachHour() {
  9. }
  10. }

3、配置cron表达式每天整点执行

可以通过搜索cron表达式在线生成进行配置

5aa6ef994dd84758bd5fdc2321ce61a7.jpeg

将秒和分都为指定0,然后指定小时

4592d080331047239b714ebd055ddef1.jpeg

此时每天指定整点执行就配置好了。

注意某些在线生成cron表达式后运行时会提示:

Cron expression must consist of 6 fields (found 7 in

Spring定时任务-cron只能包含6个字段,即使不支持支持年份

把最后的表示年份的符号去掉即可。

发表评论

表情:
评论列表 (有 0 条评论,100人围观)

还没有评论,来说两句吧...

相关阅读

    相关 cron表达式配置规则

    [cron表达式详解][cron]   Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:   (