elastic-job-lite 入门使用
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>3.0.0.M1-SNAPSHOT</version>
</dependency>
//简单作业类型
public class MyElasticJob implements SimpleJob {
@Override
public void execute(ShardingContext context) {
}
}
简单作业类型:我们实现SimpleJob接口中的execute方法,在里面处理自己的业务需求,调度器通过配置的cron表达式进行调度。
//流处理作业类型
public class MyElasticJob implements DataflowJob<T> {
//抓取数据
@Override
public List<T> fetchData(ShardingContext shardingContext) {
return null;
}
//执行数据
@Override
public void processData(ShardingContext shardingContext, List<T> list){
{
}
流处理作业类型:需要实现DataflowJob中的两个方法(fetchData,processData),第一个方法负责抓取数据,抓取之后交给第二个方法执行。
//脚本作业
public class MyElasticJob implements ScriptJob {
}
elastic-job-lite三种作业的配置相关
属性 | 所属类 | 描述 |
---|---|---|
jobName | JobCoreConfiguration | 名称 |
cron | JobCoreConfiguration | 时间表达式 |
shardingTotalCount | JobCoreConfiguration | 任务分片的总数 |
shardingItemParameters | JobCoreConfiguration | 每个分片对应的参数 |
jobParameter | JobCoreConfiguration | job从外部传入的参数 |
failover | JobCoreConfiguration | 是否开启失效转移 |
misfire | JobCoreConfiguration | 是否开启错过执行 |
description | JobCoreConfiguration | 任务描述 |
jobProperties | JobCoreConfiguration | 任务的一些属性配置 |
monitorExecution | LiteJobConfiguration | 是否开启监控 |
maxTimeDiffSeconds | LiteJobConfiguration | 本机和注册中心最大时间误差数 |
moinitorPort | LiteJobConfiguration | 监控u的那口 |
jobShardingStrategyClass | LiteJobConfiguration | 分片策略类 |
disabled | LiteJobConfiguration | 设置作业是否启动时禁止 |
overwrite | LiteJobConfiguration | 是否重写配置 |
streamingProcess | DataflowJobConfiguration | 是否开启流执行 |
scriptCommandLine | ScriptJobConfiguration | 脚本命令行 |
elastic-job-lite任务执行架构图
elastic-job-lite的作业执行流程图
elastic-job-lite启动流程
缺点
关于elastic-job-lite入门和原理就分享到这里了,其实上面的每一个点深入下去都可以单独写一篇文章了,后续会慢慢把这块再更新出来,希望帮助到大家,
如果有收获,辛苦关注一下,点个赞呗