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 | 本地配置是否可覆盖注册中心配置 |
作者:耶也夜
链接:https://www.jianshu.com/p/0d4a262f07e4