定时任务概述

简介: 定时任务指通过时间表达式调度执行的任务,适用于对账、提醒、订单超时等场景。实现方案包括单体架构的线程休眠、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 API 调度
Android系统 自定义开机广播,禁止后台服务,运行手动安装应用接收开机广播
Android系统 自定义开机广播,禁止后台服务,运行手动安装应用接收开机广播
1961 0
|
Java 数据安全/隐私保护 数据格式
Spring Cloud Gateway 网关整合 Knife4j 4.3 实现微服务接口文档聚合
Spring Cloud Gateway 网关整合 Knife4j 4.3 实现微服务接口文档聚合
|
4月前
|
人工智能 自然语言处理 搜索推荐
AI英语个性化学习系统的开发
“AI英语个性化学习系统”深度融合教育学与算法,以知识图谱、学习者画像和自适应推荐构成三位一体架构;集成智能语音测评、深度知识追踪与RAG情景对话,实现“教-学-练-测”闭环。强调循序渐进与记忆保持,真正千人千面。(239字)
|
4月前
|
人工智能 监控 供应链
淘宝代运营爆款打造核心逻辑(附实操步骤)
本文基于淘宝官方规则与12年实战经验,提炼出一套科学、可复用的爆款打造方法论。涵盖产品选型(30%)、内容优化(25%)、流量运营(25%)、口碑维护(20%)四大维度,含8步实操流程与真实案例验证,助力商家提升转化、延长爆款生命周期。(239字)
947 0
|
11月前
|
机器学习/深度学习 人工智能 算法
Together可视化规则引擎
DMN标准定义了可视化规则引擎的技术规范,实现业务逻辑的图形化建模与高效执行。它打破技术壁垒,支持复杂算法与AI融合,提升企业敏捷性,降低运维成本,推动规则引擎向通用算法引擎演进。
|
10月前
|
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可解决此类问题,广泛应用于桌面软件、游戏及系统级开发。
1146 2
|
域名解析 弹性计算 安全
阿里云域名备案流程(从域名注册到域名备案成功图文详解流程)
本教程以实操形式为阿里云新老用户详细讲解从“注册阿里云账号”、“阿里云账号实名”、“租赁阿里云服务器”、“创建阿里云域名模板”、“注册阿里云域名”、“阿里云域名备案”、“域名备案信息查询”、“阿里云域名解析”一整套流程图文详细讲解。
2002 5
|
编解码 定位技术
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吸力的土壤含水量(体积百分比)。
1499 0
Google Earth Engine——全球土壤含数量数据:6个标准深度(0、10、30、60、100和200厘米)以250米的分辨率预测的33kPa和1500kPa吸力的土壤含水量(体积百分比)。
|
数据采集 存储 人工智能
《企业数据“命根子”:主数据管理,为何如此关键?》
在数字化转型中,数据成为企业核心资产。主数据管理(MDM)帮助企业告别数据“孤岛”,通过统一主记录提升数据质量,确保各部门获取一致、准确的信息。MDM优化业务流程,提高运营效率,助力企业快速响应市场变化,推动数字化转型,增强竞争力。它是企业数据治理的关键,为精准决策和业务创新奠定基础。
368 12
|
分布式计算 API 云计算