SpringBoot快速开启一个定时任务(1分钟直接上手)

QuickStart

  1. 自定义一个类, 放入IoC容器. 然后在类里面写好自己的定时任务方法, 然后使用@Scheduled注解进行配置

  2. 然后在SpringBootApplication上加上注解@EnableScheduling

上面就完成了每1s执行一次showTime()方法

Detail

拓展知识:

1. fixedRate

含义: 指定任务以固定的时间间隔执行,不论前一个任务是否完成。任务开始后,间隔固定的时间,下一次任务会再次启动。

  • 单位: 毫秒(ms)

  • 示例:

    @Scheduled(fixedRate = 5000)
    public void runTask() {
        // 任务每5秒执行一次
    }

    在这个示例中,runTask 方法每隔5秒执行一次,即使上一个任务还未执行完毕,新的任务也会开始执行。

2. fixedDelay

  • 含义: 指定任务在前一个任务完成后等待固定的时间间隔,再开始执行下一个任务。也就是说,任务执行的时间间隔是从上一个任务完成后开始计算的。

  • 单位: 毫秒(ms)

  • 示例:

    @Scheduled(fixedDelay = 5000)
    public void runTaskWithFixedDelay() {
        // 任务执行完成后等待5秒再执行
    }

    在这个示例中,runTaskWithFixedDelay 方法在上一个任务执行完成后,会等待5秒再执行下一次任务。

3. initialDelay

  • 含义: 指定任务首次执行的延迟时间。通常与 fixedRatefixedDelay 一起使用,表示在应用启动后,等待一段时间再开始第一次执行任务。

  • 单位: 毫秒(ms)

  • 示例:

    @Scheduled(fixedRate = 5000, initialDelay = 10000)
    public void runTaskWithInitialDelay() {
        // 应用启动10秒后开始执行,然后每5秒执行一次
    }

    在这个示例中,runTaskWithInitialDelay 方法会在应用启动10秒后开始执行,然后每隔5秒执行一次任务。

4. cron

  • 含义: 使用Cron表达式定义任务的执行时间。Cron表达式可以非常灵活地定义复杂的时间规则,例如每天的某个时刻、每周的某几天等。

  • 单位: Cron表达式由6或7个字段组成,依次表示秒、分钟、小时、日期、月份、星期、年份(可选)。

  • 示例:

    @Scheduled(cron = "0 0 3 * * ?")
    public void runTaskWithCron() {
        // 每天凌晨3点执行
    }

    在这个示例中,runTaskWithCron 方法会在每天凌晨3点执行一次。

    Cron表达式的格式:

    特殊符号:

    例如,"0 0/15 8-10 * * *" 表示每天上午8点到10点之间,每15分钟执行一次。

    • (0–59)

    • 分钟(0–59)

    • 小时(0–23)

    • 日期(1–31)

    • 月份(1–12)

    • 星期(0–7)(0或7表示星期日)

    • 年份(可选)

    • \*: 任意值

    • ,: 列出枚举值

    • -: 指定范围

    • /: 指定间隔

    • ?: 不指定具体值(用于日期和星期字段冲突时)

5. zone

  • 含义: 指定任务执行时的时区。可以配合cron表达式使用,以确保任务在正确的时区执行。

  • 示例:

    @Scheduled(cron = "0 0 10 * * ?", zone = "America/New_York")
    public void runTaskWithZone() {
        // 每天上午10点(纽约时间)执行
    }

    在这个示例中,runTaskWithZone 方法会在纽约时间每天上午10点执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值