Task Scheduler
文章平均质量分 61
任务调度,分布式任务调度
陈振阳
我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着仁义道德四个字。我横竖睡不着,又仔细看了半夜,才从字缝缝里看出字来。满页都写着两个字是,吃人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
开源任务调度解决方案列表
工作流任务调度系统,定时只是基础功能,还要有监控、任务流依赖管理、日志收集等。Quartz :只是个引擎,是个核心,还不能称为任务调度平台。XXL-JOB 、Elastic-Job :入门可用;Dkron:cloud native,分开源版和商业版,开源版基本不可用;Airflow:Apache 下,DAG,好使;DolphinScheduler:Apache 下,势头较猛,可持续追踪;其他待补充;...原创 2020-10-16 13:22:53 · 570 阅读 · 0 评论 -
集群调度框架的架构演进过程
文章目录集群调度架构的演进过程中心化调度框架两级调度架构共享状态调度架构全分布式架构混合式调度架构实际含义下一步集群调度器是现在数据中心中非常重要的一个组件,并且这现年已经有了很大的发展。它的架构也从中心化设计转向更加灵活、去中心化和分布式设计。然而许多现在开源的调度架构依旧是中心化设计或者缺少很多主要的特性,这些特性对于实际的用户来说非常重要,因为这些好的特性可以使数据中心获得很高的资源利用率...原创 2019-04-18 10:05:42 · 698 阅读 · 0 评论 -
Airflow
KubernetesExecutor for Airflow Scale Airflow natively on Kubernetes数据平台作业调度系统详解-理论篇数据平台作业调度系统详解-实践篇Sphinx原创 2019-04-13 11:31:11 · 1522 阅读 · 0 评论 -
Airflow Oddment
Backfill and Catchupairflow metrics + statsd + graphite + grafanaLineage原创 2019-04-16 14:55:22 · 504 阅读 · 0 评论 -
Airflow Timezone
Airflow的设计理念是国际通用,不管在哪个时区,所以Airflow整体使用的是UTC时间,无论是数据库存储的时间还是WebServer UI上显示的时间都是UTC时间,而且是没法改的;数据库里存储的时间格式,我们根本不关心,UI界面上大部分显示的都是UTC时间,但是重要的地方,比如说Task Instance的运行开始时间,结束时间等重要的地方会同时显示,UTC时间和设置的Local的时间,...原创 2019-04-16 14:53:30 · 1995 阅读 · 0 评论 -
Airflow Logs
dag_process_manager:scheduler有个功能是监控airflow_dags目录下面的dag文件,然后同步到数据库的dag表中,这是添加dag记录的唯一方法,没有其他的入口可以添加一个新的dag;数据库里的dag记录都是Scheduler扫描airflow_dags目录自动生成的;此文件夹中的日志文件dag_process_manager.log记录的便是此过程的日志;dag...原创 2019-04-16 14:02:22 · 4817 阅读 · 0 评论 -
Airflow on Kubernetes
在本系列第一篇博客Airflow Architecture中,简述了,Airflow的设计架构,Airflow在部署的时候跟设计架构也是一一对应的,Scheduler进程,WebServer进程和Worker进程需要单独启动。Scheduler和WebServer可以跑在一个操作系统内,也可以分开,而通常Worker需要很多,如果是部署特定的数量的Worker,那就需要特定数量的机器才行;Air...原创 2019-04-16 12:22:43 · 4826 阅读 · 0 评论 -
Airflow On Docker
在Airflow的Github官方仓库里,提供了构建Docker镜像Dockerfile和相关的脚本信息,airflow/scripts/ci/kubernetes/docker/;下载airflow源码,进入到airflow/scripts/ci/kubernetes/docker/,可以查看到Dockerfile和相关的脚本信息;airflow-test-env-init.sh留下如下内容...原创 2019-04-16 12:02:01 · 1537 阅读 · 0 评论 -
Airflow Concept
DAG:定义调度信息,定义任务之间的关系和依赖Operator:定义任务,描述DAG中的一个任务节点,可以认为是执行任务的模板Task:Operator被传入特定的参数实例化之后,就被称为task,这就是为什么称Operator为任务模板的原因;Task instance:根据DAG中定义的调度信息和依赖关系,以及Operator中定义的任务的具体内容,可以生成一个Task Instance...原创 2019-04-16 11:28:37 · 478 阅读 · 0 评论 -
Airflow Architecture
ArchitectureAirflow是一个DGA流派的作业调度平台,既然是作业调度平台,那就分执行作业和调度作业的逻辑,Airflow Scheduler模块实现调度作业的逻辑,Airflow Executor模块实现执行作业的逻辑;此外Airflow还有一个Web Server模块,是一个Web UI,主要是提供各种信息的查看功能;懒得画图了,百度了下,从如何部署一个健壮的 apache-a...原创 2019-04-16 11:10:15 · 1233 阅读 · 0 评论 -
Quartz Utils
UtilsDirtyFlagMap + JobDataMap + SchedulerContextDateBuilder:好用的日期计算类CircularLossyQueue:循环队列PropertiesParserSampledStatistics目前此模块只用在JMX模块,用于给用户提供性能指标监控核心接口SampledStatistics包含如下三个信息,用于展现当前集群的...原创 2019-03-31 15:59:42 · 714 阅读 · 0 评论 -
Quartz Integration
Java Servlet两种方式,QuartzInitializerListener和QuartInitializerListener;用于在web环境中创建一个Scheduler单例。Quartz 远程管理三种方式RMI,JMX和RestService,RestService还没实现rmi和jmx不能同时启用Quartz RMI中Client端创建的是RemoteScheduler,p...原创 2019-03-31 15:58:51 · 439 阅读 · 0 评论 -
Quartz Misfire Mechanism based Jdbc JobStore
基于jdbcjobstore的错过处理策略Misfire基于jdbcjobstore的错过处理策略MisfireHandlerMisfireHandler启动位置在JobStroeSupport#scheduleStarted();Trigger的各个接口中定义了各个类型的Trigger支持的misfire机制fire_once_now:针对misfired job马上执行一次do_...原创 2019-03-31 15:58:10 · 431 阅读 · 0 评论 -
Quartz Cluster
基于数据库JobStore的Quartz Cluster实现ClusterManager如果开启cluster的话,ClusterManager线程会运行,参见JobStroeSupport#scheduleStarted();ClusterCheck这个check是check啥,参看JobStoreSupport#doCheckIn(),检查scheduler是否失效,scheduler_...原创 2019-03-31 15:56:05 · 1899 阅读 · 0 评论 -
Quartz Scheduler Listener & SchedulerPlugin
XxxListenerJobListener + TriggerListener + SchedulerListenerJobListener内置实现JobListener#SampledStatisticsImpl(jobsScheduledCount + jobsExecutingCount + jobsCompletedCount)JobListener#ExecutingJobM...原创 2019-03-31 15:52:24 · 962 阅读 · 0 评论 -
Quartz Scheduler
SchedulerFactory & Scheduler & QuartzScheduler & QuartzSchedulerThread & ThreadExecutor(DefaultThreadExecutor) & ThreadPool(SimpleThreadPool and WorkThread)是Quartz调度任务的核心类,Schedul...原创 2019-03-31 15:49:33 · 4967 阅读 · 0 评论 -
Quartz Concept
如果你认为Job是Quartz的主角,一定要转变思路,Trigger才是一个Scheduler对象,就是一个Quartz实例,一组数据库表JobJob JobDetails,一个JobDtail对象才是一个任务实例,包含执行的动作Job对象和Job相关属性,比如JobDetails#JobDataMap;一个job可以被多个Trigger关联,但是一个tigger只能关联一个job...原创 2019-03-31 15:41:14 · 454 阅读 · 0 评论 -
分布式任务调度平台之XXL-JOB
基本架构GlueFactory + SpringGlueFactory 代码生成IJobHandler对象,并注入@Rosource和@Autowird注解的field;XxlJobExecutor + XxlJobSpringExecutor的start方法是入口程序Executor端JobThread将执行的结果ReturnT放到本地的TriggerCallbackThread持有的c...原创 2019-03-31 13:36:20 · 2793 阅读 · 0 评论 -
Spring Quartz & Spring Boot Quartz AutoConfigure
Spring Quartzspring 分别对Quartz的三个方面,Job & JobDetail,Trigger和Scheduler进行了封装,Spring Quartz 和 Spring Scheduling是任务调度的两种方案,两者在使用上完全没有关系,Spring Scheduling使用的是JDK的类库实现的任务调度,Spring Quartz对Quartz的封装如下:J...原创 2019-03-31 13:25:08 · 1470 阅读 · 0 评论
分享