当前位置: 首页 > news >正文

SpringBoot 定时任务:@EnableScheduling @Scheduled

@Scheduled注解参数

  1. cron参数

这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒 分 时 天 月 周 年;参数以空格隔开,其中年不是必须参数,可以省略。

/**
* cron 一共可以有7个参数 以空格分开 其中年不是必须参数
* [秒] [分] [小时] [日] [月] [周] [年]
* 一下表示
*/
@Scheduled(cron ="0 0 0 * * * ?")
public void testScheduledCron(){
}

注意!!!在使用时需要在类上添加注解@EnableScheduling,表示开启定时任务。

  1. cron参数意义:

在这里插入图片描述

  1. 常用通配符:
  • *:表示所有值 比如用在日 表示每一天。

  • ?:表示不指定值 比如周配置 表示不指定星期几执行。

  • /:表示递增触发 比如 用在分 5/20 从第五分钟开始 每增加20分钟执行一次。

  • -:表示区间 比如用在 1-6 表示一月到六月执行。

  1. 示例:
每天凌晨零点执行
@Scheduled(cron ="0 0 0 * * * ?")
每隔五分钟执行
@Scheduled(cron ="0 */5 0 * * * ?")
  1. zone参数
    zone能够指定获取的时区,默认是空,表示使用服务器所在时区,比如Asia/BeiJingi或者Asia/Shanghai。

  2. fixedDelay
    fixedDelay表示上次调用结束后与下次调用之间的固定时间,单位是毫秒。

表示距离上次调用后三秒再执行 @Scheduled(fixedDelay= 3000)
  1. fixedDelayString
    fixedDelayString与fixedDelay是几乎一样的,唯一的差异是fixedDelayString是支持占位符的。

  2. fixedRate
    fixedRate表示多久执行一次,单位是毫秒。与cron的/通配符用法相似;

表示每三秒执行一次
@Scheduled(fixedRate= 3000)
  1. fixedRateString
    fixedRate的升级,支持占位符

  2. initialDelay
    表示第一次延迟多少毫秒执行,单位是毫秒

表示第一次执行时,延迟3秒执行
@Scheduled(initialDelay= 3000)
  1. initialDelayString
    initialDelay的升级,支持占位符。

注意:@Scheduled使用时,是在本机进行任务调度,但是目前几乎所有的应用为了增加发负载量,都是使用多机部署。这就导致了一个非常严重的分布式问题:在每一台机器上都会在同时执行定时调度任务,可能产生很多重复数据或者导致系统出现其他的业务逻辑BUG,所以在使用@Scheduled进行任务调度时,一定要配合redis的分布式锁来使用,让定时调度任务只在一台机器上执行,避免BUG出现。同时对于可能出现的失败任务一定要做好日志记录,方便排查和改错哟~

相关文章:

SpringBoot 定时任务:@EnableScheduling @Scheduled

Scheduled注解参数 cron参数 这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒 分 时 天 月 周 年;参数以空格隔开,其中年不是必须参…...

Jquery 如何获取子元素。如何找到所有 HTML select 标签的选中项。jQuery 里的 ID 选择器和 class 选择器有何不同

可以使用 jQuery 的子选择器(Child Selector)或 find() 方法来获取子元素。 子选择器(Child Selector): 使用父元素的选择器和 > 符号来选取该父元素的子元素。 例如:选取 id 为 parent 的元素内所有 cl…...

Python Selenium 之数据驱动测试的实现!

数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据。可以将测试脚本…...

【Proteus仿真】【STM32单片机】智能语音家居陪护机器人

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用OLED显示模块、红外传感器、蜂鸣器、DS18B20温度传感器,风扇LED、语音识别模块等。 主要功能: 系统运行后,…...

C#上位机序列10: 批量读写+点对点更新+数据类型处理

一、源码结构 二、运行效果 三、源码解析 PLC批量读写点对点更新数据类型处理 优点:根据数据类型,判定监听的地址范围(40120_int 监听两个word:40120 40121;40130_long 监听四个word:40130 40131 40132 4…...

MySQL 概述 数据库表操作 数据增删改

目录 MySQL概述前言安装与配置MySQL登录与卸载 数据模型概述SQL简介SQL通用语法简介SQL分类 数据库设计(数据库操作)-DDL数据库操作查询数据库 show databases、select database()创建数据库 create database使用数据库 use删除数据库 drop database 图形化工具连接数据库操作数…...

存储器概述

一、存储系统基本概念...

Fabric.js 使用自定义字体

本文简介 点赞 关注 收藏 学会了 如果你使用 Fabric.js 做编辑类的产品,有可能需要给用户配置字体。 这次就讲讲在 Fabric.js 中创建文本时怎么使用自定义字体、在项目运行时怎么修改字体、以及推荐一个精简字体库的工具。 学习本文前,你必须有一点…...

【C++项目】高并发内存池第七讲性能分析

目录 1.测试代码2.代码介绍3.运行结结果 1.测试代码 #include"ConcurrentAlloc.h" #include"ObjectPool.h" #include"Common.h" void BenchmarkMalloc(size_t ntimes, size_t nworks, size_t rounds) {std::vector<std::thread> vthread(…...

【JavaScript】快速学习JS

JS区分大小写&#xff0c;后面的分号可有可无&#xff1b; 输出语句 window.alter() // 写入警告框&#xff1b;在浏览器中的警告弹窗输出 document.write() // 写入html输出&#xff1b;在html页面中输出 console.log() // 写入浏览器控制台&#xff1b;在控制台输出 变量…...

控制输入流,从控制台打印到文件中,更改输出的位置

public static void main(String[] args) throws IOException {PrintStream printStream System.out;//在默认情况下&#xff0c;PrintStream 输出数据的位置 标准输出&#xff0c;即显示器printStream.print("Tom,hello");/*public void print(String s) {if (s n…...

计算线阵相机 到 拍摄产品之间 摆放距离?(隐含条件:保证图像不变形)

一物体被放置在传送带上&#xff0c;转轴的直径为100mm。已知线阵相机4K7u&#xff08;一行共4096个像素单元&#xff0c;像素单元大小7um&#xff09;&#xff0c;镜头35mm&#xff0c;编码器2000脉冲/圈。保证图像不变形的条件下&#xff0c;计算相机到产品之间 摆放距离&…...

【网络】详解http协议

目录 一、认识URLurlencode和urldecode 二、HTTP协议HTTP协议格式HTTP的方法HTTP的状态码HTTP常见Header 一、认识URL URL叫做统一资源定位符&#xff0c;也就是我们平时俗称的网址&#xff0c;是因特网的万维网服务程序上用于指定信息位置的表示方法。 urlencode和urldecode …...

1819_ChibiOS的互斥信号与条件变量

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 关于会吃信号与条件变量的全局配置提供了4个配置信息&#xff0c;分别是互斥信号的使能、互斥信号的递归支持、条件变量的使能、条件变量的超时使…...

CSDN学院 < 华为战略方法论进阶课 > 正式上线!

目录 你将收获 适用人群 课程内容 内容目录 CSDN学院 作者简介 你将收获 提升职场技能提升战略规划的能力实现多元化发展综合能力进阶 适用人群 主要适合公司中高层、创业者、产品经理、咨询顾问&#xff0c;以及致力于改变现状的学员。 课程内容 本期课程主要介绍华为…...

电商接口api数据比价接口推荐

当前&#xff0c;受诸多因素的影响&#xff0c;经济下行&#xff0c;在日趋激烈的市场竞争中&#xff0c;很多企业也都面临着越来越大的生存压力&#xff0c;企业的盈利空间也逐渐被压缩。因此&#xff0c;越来越多的企业在控制成本方面更下功夫&#xff0c;这也就对企业采购提…...

读取Excel的工具类——ExcelKit

文章目录 ExcelKit工具类1、准备工作1.1、SheetInfoVo1.2、BizException 2、读取xlsx3、读取xls4、完整的ExcelKit.java源码 ExcelKit工具类 1、准备工作 1.1、SheetInfoVo import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import …...

vscode连接服务器一直retry

解决方法 打开vscode控制面板&#xff0c;输入命令remote-ssh: kill vs code server on host 选择一直连接不上的服务器端口 重新连接...

Spring Cloud Sentinel整合Nacos实现配置持久化

sentinel配置相关配置后无法持久化&#xff0c;服务重启之后就没了&#xff0c;所以整合nacos&#xff0c;在nacos服务持久化&#xff0c;sentinel实时与nacos通信获取相关配置。 使用上一章节Feign消费者服务实现整合。 版本信息&#xff1a; nacos:1.4.1 Sentinel 控制台 …...

STM32F4VGT6-DISCOVERY:uart1驱动

对于这款板子&#xff0c;官方并没有提供串口例程&#xff0c;只能自行添加。 一、PA9/PA10复用成串口1功能不可用 驱动测试代码如下&#xff1a; main.c: #include "main.h" #include <stdio.h>void usart1_init(void) {GPIO_InitTypeDef GPIO_InitStruct…...

PyAutoGUI图像识别踩坑实录:如何让游戏自动化脚本更稳定?(附避坑指南)

PyAutoGUI图像识别稳定性优化实战&#xff1a;从原理到避坑指南游戏自动化脚本开发中&#xff0c;图像识别是最容易翻车的环节。上周我的《原神》自动采集脚本在好友电脑上运行时&#xff0c;连续三次误点了传送锚点而非目标采集物——这让我意识到不同设备环境对locateOnScree…...

机器学习进化算法与新奇性搜索在暗物质模型参数空间扫描中的应用

1. 项目概述与核心挑战在粒子物理和宇宙学的前沿&#xff0c;寻找暗物质候选者是一场旷日持久的“寻宝”游戏。我们面对的“藏宝图”是各种理论模型&#xff0c;比如二重希格斯模型&#xff08;2HDM&#xff09;及其扩展&#xff0c;而“宝藏”则是那些能让模型预言与所有实验观…...

3步掌握OBS多平台直播:obs-multi-rtmp从零到精通的完整攻略

3步掌握OBS多平台直播&#xff1a;obs-multi-rtmp从零到精通的完整攻略 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾为同时向多个平台直播而烦恼&#xff1f;传统方法需要重…...

别再死记硬背了!用COMSOL 5.6搞定声学建模,从房间特征频率到完美匹配层(PML)实战避坑

别再死记硬背了&#xff01;用COMSOL 5.6搞定声学建模&#xff0c;从房间特征频率到完美匹配层&#xff08;PML&#xff09;实战避坑 声学建模在工程应用中越来越重要&#xff0c;无论是建筑声学设计、噪声控制还是医疗超声设备开发&#xff0c;都需要精确的声场模拟。但对于初…...

用Python从零搭建GridWorld环境:手把手教你实现值迭代与策略迭代(附完整代码)

用Python从零搭建GridWorld环境&#xff1a;手把手教你实现值迭代与策略迭代&#xff08;附完整代码&#xff09;在强化学习领域&#xff0c;GridWorld就像编程界的"Hello World"&#xff0c;是理解基础算法的最佳试验场。不同于理论推导的抽象&#xff0c;亲手构建一…...

工业智能化的时序选型指南:当数据底座遇见机器学习

随着工业 4.0 和物联网的深入发展&#xff0c;企业对时序数据的诉求已经发生了质的改变&#xff1a;“仅仅把海量数据存下来&#xff0c;并在大屏上画成折线图”已经远远无法满足高阶的业务需求。风机设备的预测性维护、流水线能耗的异常检测、智能电网的产量预测……这些高价值…...

FPGA在遥感机器学习中的优势与优化实践

1. FPGA在遥感机器学习中的核心优势解析 FPGA&#xff08;现场可编程门阵列&#xff09;在边缘计算场景中展现出独特的价值主张。与通用处理器不同&#xff0c;FPGA通过硬件级并行架构实现两个关键突破&#xff1a;首先是数据流驱动的计算模式&#xff0c;消除传统冯诺依曼架构…...

Exchange渗透实战:从外部侦察到域控接管全链路

1. 这不是“黑进邮箱”的速成课&#xff0c;而是真实红队作业的切片回放Exchange Server 渗透测试&#xff0c;这个词在很多刚入行的朋友眼里&#xff0c;可能等同于“爆破邮箱密码”“下载邮件”“发钓鱼邮件”。但我在过去七年参与的23次企业红队评估中&#xff0c;真正能从外…...

SLED框架:边缘计算中的LLM推理加速方案

1. SLED框架&#xff1a;边缘计算场景下的LLM推理加速方案在边缘计算环境中部署大语言模型&#xff08;LLM&#xff09;面临的核心矛盾在于&#xff1a;模型规模的持续增长与边缘设备有限的计算资源之间的不匹配。传统解决方案如模型量化&#xff08;Quantization&#xff09;和…...

FIFA 23生涯模式终极修改指南:免费开源工具打造完美足球世界

FIFA 23生涯模式终极修改指南&#xff1a;免费开源工具打造完美足球世界 【免费下载链接】FIFA-23-Live-Editor FIFA 23 Live Editor 项目地址: https://gitcode.com/gh_mirrors/fi/FIFA-23-Live-Editor 还在为FIFA 23生涯模式中球员成长缓慢、转会困难而烦恼吗&#xf…...