这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
windows任务计划程序
此电脑 管理 (捕捉任务,制作脚本)
单机定时任务-Ticker
func main () {
ticker := time.NewTicker(5 * time.Minute)
for{
select {
case <- ticker.C:
SvncLocalCache()
}
}
}
//跨平台 仅单机可用
//go
单机定时任务-Timer
public static void main (String[] args) throws ParseException{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run(){
SyncLocalCache();
}
}, 5000, 5 * 60 * 1000);
}
//JAVA
单机定时任务-ScheduledExecutorService
private static ScheduledExecutorService scheduler;
public static void main(String[] args) throws Exception{
scheduler = Executors.newScheduledThresdPool(5);
scheduler.scheduleAtFixedRate(((
new Runnable() {
@Override
public void run(){
DoSomething();
}
})),
0, 300,
TimeUnit.SECONDS);
}
//每隔五分钟定时执行多个任务
//JAVA
//拥有线程池功能
//仅单机可用
任务调度-Quartz
分布式定时任务
- 平台化管理
- 分布式部署
- 支持海量数据
分布式定时任务(可参考win自带设置)
- 定时任务
- 延时任务
- 周期任务
特点
- 自动化
- 平台化
- 分布式
- 伸缩性
- 可高用
执行任务
- 单机任务:计算量小
- 广播任务
- map任务:核心
- mapreduce任务
-
业内流行框架
Xxl-job SchedulerX TCT Elastic-job Saturn 来源公司 美团点评 阿里巴巴 腾讯 当当网 唯品会 是否开源 是 否 否 是 是 任务编排 子任务依赖 支持 支持 不支持 不支持 任务分片 支持 支持 支持 支持 支持 高可用 支持 支持 支持 支持 支持 故障转移 支持 支持 支持 支持 支持 可视化运维 支持 支持 支持 支持 支持 -
美团点评Xxl-job
-
阿里巴巴SchedulerX
-
腾讯TCT
核心架构
- 触发器:Trigger,解析任务,生成触发事件
- 调度器:Scheduler,分配任务,管理任务生命周期
- 执行器:Executor,获取执行任务单元,执行任务逻辑
- 控制台:Admin,提供任务管理和干预的功能2q
-
知识面扩充
- 分布式定时任务
- 单机定时任务
- 延时消息
- 离线计算引擎Hive
- 实时计算引擎Flink