定时任务概述

简介: 定时任务是按时间表达式调度执行的自动化任务,适用于对账、提醒、订单超时取消等场景。单体方案含Timer、ScheduledExecutorService、Quartz、SpringTask;分布式场景则需解决重复执行、动态调度等问题,主流框架有XXL-JOB、Elastic-Job、ScheduleX等。(239字)

什么是定时任务
通过时间表达式来进行调度和执行的一类任务被称为定时任务。一般能解决的业务场景:定时对账、服务到期的定时提醒、订单超时未支付的自动取消等。

有哪些定时任务实现方案
单体架构调度技术
轮询+线程休眠

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



目录
相关文章
|
4天前
|
消息中间件 缓存 安全
6-MQ篇-1
本项目广泛使用RabbitMQ实现异步解耦通信,涵盖内容审核、短信发送、数据同步等8类场景;选用因其丰富模式、高可用集群及优秀性能;通过Confirm/Return机制、三重持久化与手动ACK保障消息零丢失;结合幂等设计与状态表补偿应对重复消费与堆积问题。(239字)
49 1
|
4天前
|
消息中间件 Java 数据处理
Java在实时流数据处理平台(基于KafkaStreams和Flink)中的运用
与批处理不同,流处理是对无界数据持续不断地计算,要求低延迟(秒级或毫秒级)和事件时间处理(处理乱序到达的数据)。Java凭借丰富的流处理框架(ApacheFlink、KafkaStreams、SparkStreaming),成为实时数据处理领域的主导语言。
46 0
|
4天前
|
存储 关系型数据库 MySQL
7-事务控制篇-4
InnoDB支持事务、行级锁、外键及聚簇索引,具备崩溃恢复能力,是MySQL 5.5+默认引擎;MyISAM不支持事务与行锁,仅表级锁,存行数、用非聚簇索引,适合读多写少场景。
52 5
|
4天前
|
消息中间件 容灾
6-MQ篇-2
本文详解RabbitMQ延迟队列(TTL+死信交换机/延迟插件)、消息过期设置(队列级与消息级)、死信成因及死信交换机绑定方式,并介绍其高可用机制:普通集群(元数据共享)与镜像集群(全量数据同步、主从容灾)。
51 3
|
4天前
|
存储 算法 关系型数据库
7-事务控制篇-2
InnoDB与MyISAM均采用B+树索引,但实现迥异:InnoDB主键索引为聚簇索引,叶子节点存完整数据;MyISAM为非聚簇索引,索引与数据分离,叶子仅存行地址。辅助索引方面,InnoDB存主键值(需回表),MyISAM直接存物理地址。(239字)
47 2
|
4天前
|
SQL 关系型数据库 MySQL
7-事务控制篇-7
本文简述MySQL三大核心要点:联合索引的最左匹配原则(从左依次匹配,范围查询后失效)、SQL执行顺序(FROM→JOIN→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT),以及常见索引失效场景(如LIKE前导%、OR单边无索引、隐式类型转换、函数/运算操作等),并指出EXPLAIN是诊断索引是否生效的关键工具。(239字)
91 2
|
4天前
|
消息中间件 物联网 网络性能优化
6-MQ篇-5
EMQ X 是开源百万级分布式 MQTT 消息服务器,广泛应用于物联网、车联网、智能硬件等领域。支持 QoS 0/1/2 保障消息不丢、不重;提供延迟发布、点对点(共享订阅)与发布订阅模式,并在项目中用于设备通信及微服务间消息传递。(239字)
53 1
|
2月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
169 19
|
4天前
|
存储 SQL 关系型数据库
7-事务控制篇-5
事务具ACID四大特性:原子性(全成或全败)、一致性(状态合法)、隔离性(并发互不干扰)、持久性(提交即永久)。索引需注意字段非空、高区分度、长度适中、数量适度(更新频繁表≤3个),过多索引会增空间开销、拖慢增删改性能。
58 0
|
9天前
|
人工智能 运维 监控
Agent从一问一答到自主执行面临哪些挑战?
AI任务调度平台(MSE)解决开源Agent定时任务的五大痛点:高可用性、统一运维、细粒度权限、全链路可观测、弹性降本。支持OpenClaw/Hermes/百炼/Dify等多框架,提供任务批处理、自进化、会话管理等企业级能力,现开放免费公测。
Agent从一问一答到自主执行面临哪些挑战?