java-任务
2023-02-25 11:46:10 0 举报
AI智能生成
整理任务这块,罗列常用的定时任务处理方法及常用的分布式任务框架
作者其他创作
大纲/内容
java-任务
多线程并行处理定时任务时,Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行,使用ScheduledExecutorService则没有这个问题
Timer
ScheduledExecutorService
span class=\"tag\
@Shcedule
动态修改定时任务的执行时间
@Async
springTask: @EnableScheduling
定时任务
quartz
Elastic-Job
官网地址: https://www.xuxueli.com/xxl-job/
概念:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台
模块:xxl-job-admin
调度中心(HA):
概念:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。
模块:用户需根据实际需求实现,参考xxl-job-executor-sample-springboot (springboot版本)
执行器
概念:任务定义信息,例如名称、调度时间等
任务
概念:任务运行时信息
任务实例
核心:
xxl-job
付费,阿里产品
scheduleX2.0
产品手册:https://www.yuque.com/powerjob/guidence
调度中心 powerjob-server
执行器 powerjob-worker
处理器 processor 不同类型任务(shell、sql、httpClient)处理器
核心
分组:业务分组与隔离 类似租户
任务(Job):描述了需要被 PowerJob 调度的任务信息,包括任务名称、调度时间、处理器信息等。
任务实例( JobInstance,简称 Instance):任务(Job)被调度执行后会生成任务实例(Instance),任务实例记录了任务的运行时信息(任务与任务实例的关系类似于类与对象的关系)。
单机任务(STANDALONE):一个 JobInstance 对应一个 Task
广播任务(BROADCAST):一个 JobInstance 对应 N 个 Task,N为集群机器数量,即每一台机器都会生成一个 Task
Map/MapReduce任务:一个 JobInstance 对应若干个 Task,由开发者手动 map 产生
作业(Task):任务实例的执行单元,一个 JobInstance 存在至少一个 Task,具体规则如下:
工作流(Workflow):由 DAG(有向无环图)描述的一组任务(Job),用于任务编排。
工作流实例(WorkflowInstance):工作流被调度执行后会生成工作流实例,记录了工作流的运行时信息。
核心概念
power-job
官网地址:https://dolphinscheduler.apache.org/zh-cn/
dolphinscheduler
以上分布式框架对比
分布式定时任务
0 条评论
回复 删除
下一页