继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

lastic job源码分析 - 作业配置

幕布斯6054654
关注TA
已关注
手记 1258
粉丝 219
获赞 1011

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


webp

作业配置类图

作业核心配置


webp

作业核心配置


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


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

作业类型配置

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

webp

作业类型配置


简单作业配置

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

数据流作业配置

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

脚本作业配置

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

作业根配置

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

webp

LiteJobConfiguration

具体属性介绍如下:

属性缺省值描述
monitorExecutiontrue是否监控作业执行时状态
maxTimeDiffSeconds-1最大容忍的本机与注册中心的时间误差秒数(默认不校验)
monitorPort-1作业辅助监控端口(默认不开启)
jobShardingStrategyClass""作业分片策略实现类全路径
reconcileIntervalMinutes10修复作业服务器不一致状态服务执行间隔分钟数
disabledfalse作业是否启动时禁止
overwritefalse本地配置是否可覆盖注册中心配置



作者:耶也夜
链接:https://www.jianshu.com/p/0d4a262f07e4


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP