定时任务概述

简介: 定时任务指通过时间表达式调度执行的任务,适用于对账、提醒、订单超时等场景。实现方案包括单体架构的线程休眠、Timer、ScheduledExecutorService、Quartz、SpringTask,以及分布式架构下的TBSchedule、Elastic-Job、Saturn、XXL-JOB等,解决集群重复执行、动态调整、故障转移与监控问题。

什么是定时任务
通过时间表达式来进行调度和执行的一类任务被称为定时任务。一般能解决的业务场景:定时对账、服务到期的定时提醒、订单超时未支付的自动取消等。
有哪些定时任务实现方案
单体架构调度技术
轮询+线程休眠
while(true) + Thread.sleep
java.util.Timer + java.util.TimerTask
Timer是一个定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务或反复多次
TimerTask是一个抽象类,它的子类代表一个可以被Timer计划执行的任务
ScheduledExecutorService
JDK1.5之后作为并发工具被引入,默认只支持周期性的执行频率(如每秒/每分钟),要支持具体某一刻年月日时分秒的执行窗口需要自定义扩展,较麻烦
Quartz
开源任务调度框架,Java语言编写实现,支持Spring整合使用
SpringTask
spring框架提供的轻量级定时任务调用工具
SpringBoot框架下可使用注解:@EnableScheduling+@Scheduled,底层还是SpringTask
分布式架构调度技术
分布式场景可能遇到的问题
多台机器集群部署的定时任务如何保证不被重复执行
如果在不重启服务前提下,动态调整定时任务执行时间
部署定时任务的机器发生故障如何故障转移
如何对定时任务做任务监控
业界解决方案
淘宝:TBSchedule,现在是:ScheduleX
当当:Elastic-Job
唯品会:Saturn,基于当当的二次开发,新增一些特性
大众点评:XXL-JOB

目录
相关文章
|
Java 数据安全/隐私保护 数据格式
Spring Cloud Gateway 网关整合 Knife4j 4.3 实现微服务接口文档聚合
Spring Cloud Gateway 网关整合 Knife4j 4.3 实现微服务接口文档聚合
|
3月前
|
人工智能 自然语言处理 搜索推荐
AI英语个性化学习系统的开发
“AI英语个性化学习系统”深度融合教育学与算法,以知识图谱、学习者画像和自适应推荐构成三位一体架构;集成智能语音测评、深度知识追踪与RAG情景对话,实现“教-学-练-测”闭环。强调循序渐进与记忆保持,真正千人千面。(239字)
|
10月前
|
机器学习/深度学习 人工智能 算法
Together可视化规则引擎
DMN标准定义了可视化规则引擎的技术规范,实现业务逻辑的图形化建模与高效执行。它打破技术壁垒,支持复杂算法与AI融合,提升企业敏捷性,降低运维成本,推动规则引擎向通用算法引擎演进。
|
存储 前端开发 搜索推荐
内容,内容资产,以及内容即服务
内容是指在媒体、平台或者其他载体上所呈现的信息、文章、图片、视频、音频等形式的表达。内容可以是有关某个特定主题或领域的知识、观点、故事、娱乐等,通过文字、图像、声音等方式传达给用户或观众。在互联网时代,内容的重要性越来越突出,各种网站、应用和社交媒体平台都以提供优质内容为目标,吸引用户关注和参与。
1413 3
|
9月前
|
IDE 编译器 开发工具
msvcp100.dll,msvcp120.dll,msvcp140.dll,Microsoft Visual C++ 2015 Redistributable,Visual C++ 运行库安装
MSVC是Windows下C/C++开发核心工具,集成编译器、链接器与调试器,配合Visual Studio使用。其运行时库(如msvcp140.dll)为程序提供基础函数支持,常因缺失导致软件无法运行。通过安装对应版本的Microsoft Visual C++ Redistributable可解决此类问题,广泛应用于桌面软件、游戏及系统级开发。
1061 2
|
11月前
|
存储 并行计算 算法
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
765 3
|
编解码 定位技术
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
1481 0
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
|
容器
100. [HarmonyOS NEXT 实战案例:音乐播放器] 进阶篇 - 交互式音乐播放器的状态管理与控制
在基础篇中,我们学习了如何使用HarmonyOS NEXT的`RowSplit`组件构建音乐播放器的基本界面。在本篇教程中,我们将深入探讨音乐播放器的交互功能和状态管理,包括播放状态切换、进度条控制、时间显示等高级特性,让音乐播放器界面更加生动和实用。
320 0
|
数据采集 存储 人工智能
《企业数据“命根子”:主数据管理,为何如此关键?》
在数字化转型中,数据成为企业核心资产。主数据管理(MDM)帮助企业告别数据“孤岛”,通过统一主记录提升数据质量,确保各部门获取一致、准确的信息。MDM优化业务流程,提高运营效率,助力企业快速响应市场变化,推动数字化转型,增强竞争力。它是企业数据治理的关键,为精准决策和业务创新奠定基础。
353 12
|
网络协议 Linux Shell
CentOS7系统命令学习笔记(一)
CentOS7系统命令学习笔记(一)
591 12