定时任务| 青训营笔记

72 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

阿里春节集卡20亿

  1. 扫描脚本,扫描集卡信息,汇总计算发奖金额, 定时开奖的时候再把奖发放给用户

什么是分布定时任务呢? 分布定时任务是 自动化+定时执行+海量数据+稳定高效

定时任务发展历程

有那些定时任务呢

  1. 10分钟windwos自动关机,有以下步骤

    • 新建空白文本文档
    • 改改后缀为.bat
    • 内容为shutdown -s -t 600
    • 运行该批处理文件
  2. windows任务计划程序

  3. linux每天2:30定时清理机器日志

    • linux系统命令使用简单,稳定可靠
  4. 每隔五分钟定时刷新本地缓存数据

  5. 每间隔五分钟执行多个任务-单机定时任务

什么是分布式定时任务

定时任务是系统为了完成特定任务,实时,延时,周期性完成任务角度的过程. 分布式定时任务是把分散的,可靠性差的定时任务纳入统一的平台,并实现集群隔离调度和分布式部署的一种定时任务的管理方式

按触发时机分类:

  • 定时任务,特定时间触发,比如今天15:06
  • 延时任务: 延时触发,比如10s后执行
  • 周期任务: 固定周期时间或者频率周期调度触发,比如每天12点或者每隔5s执行

分布式定时任务的执行方式

  • 单机任务: 随机触发一台机器下执行,适合计算量小,并发度低的任务
  • 广播执行,广播到所有机器上执行同一个任务,比如所有机器一起清理日志
  • Map任务: 一个任务分出多个子任务,每个子任务复杂一部分的计算.适用于计算量大,单机无法满足要求的任务
  • MapReduce任务: 在Map任务基础上还可以对所有子任务的结果做汇总计算,适用于计算量大,并且需要对子任务做汇总的任务