lastic job源码分析 - 作业配置

elastic job的作业配置由3级组成:作业核心配置,作业类型配置和作业根配置。它们的关系是作业根配置包含作业类型配置,作业类型配置包含作业核心配置。elastic job提供了3种作业类型:简单作业类型,数据流作业类型和脚本作业类型。它们之间的类图如下图:


作业配置类图

作业核心配置

作业核心配置

作业核心配置JobCoreConfiguration主要用于配置作业名称、执行周期、作业分片项等数据。详情如下:

属性 缺省值 描述
jobName null 作业名称
cron null 作业启动时间的cron表达式
shardingTotalCount 0 作业分片总数
shardingItemParameters "" 分片序列号和个性化参数对照表(0=a,1=b,2=c)
jobParameter "" 作业自定义参数
failover false 是否开启失效转移
misfire true 是否开启misfire
description "" 作业描述信息
jobProperties 初始对象 作业属性

作业类型配置

作业类型配置包含3个属性:作业类型JobType,作业实现类jobClass以及作业核心配置JobCoreConfiguration

作业类型配置

简单作业配置

简单作业类型的作业类型为JobType.SIMPLE,作业实现类为实现SimpleJob接口的类。

数据流作业配置

数据流作业类型的作业类型为JobType.DATAFLOW,作业实现类为实现DataflowJob接口的类。该配置还包含一个属性streamingProcess(是否流式处理数据)。如果流式处理数据, 则fetchData不返回空结果将持续执行作业,如果非流式处理数据, 则处理数据完成后作业结束。

脚本作业配置

脚本作业类型的作业类型为JobType.SCRIPT,作业实现类为ScriptJob,以及scriptCommandLine(脚本型作业执行命令行)。

作业根配置

作业根配置在elastic job lite中只有一个实现LiteJobConfiguration

LiteJobConfiguration

具体属性介绍如下:

属性 缺省值 描述
monitorExecution true 是否监控作业执行时状态
maxTimeDiffSeconds -1 最大容忍的本机与注册中心的时间误差秒数(默认不校验)
monitorPort -1 作业辅助监控端口(默认不开启)
jobShardingStrategyClass "" 作业分片策略实现类全路径
reconcileIntervalMinutes 10 修复作业服务器不一致状态服务执行间隔分钟数
disabled false 作业是否启动时禁止
overwrite false 本地配置是否可覆盖注册中心配置
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作业的必要性以及存在的问题 1. 为什么需要作业? 作业即定时任务。一般来说,系统可使用消息传递代替部分使用作业的...
    Sununy阅读 6,916评论 3 25
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,007评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 前面的话 elastic job是当当开源的一个分布式调度系统。基于quartz实现的。这里只分析了lite类型的...
    海蟾子_null阅读 2,682评论 0 3
  • 一旦目标制定就得马上行动,不然过不了多久就要忘记了! 自身行动力比较差的人,一旦制定了什么目标一定要第一时间去...
    赖美玲阅读 367评论 0 0