上一篇 <<<Elastic-job的设计理念及原理说明
下一篇 >>>修改Elastic-Job默认session过期时间提升故障转移速度
1.依赖包引入
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.kuhn-he/elastic-job-lite-spring-boot-starter -->
<dependency>
<groupId>com.github.kuhn-he</groupId>
<artifactId>elastic-job-lite-spring-boot-starter</artifactId>
<version>2.1.53</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.配置新增
#如果zookeeper集群的话,则以英文逗号隔开
elaticjob.zookeeper.server-lists=127.0.0.1:2181
elaticjob.zookeeper.namespace=my-project
3.代码实现
@ElasticSimpleJob(cron = "0/5 * * * * ?",
jobName = "firstJob",
shardingTotalCount = 2,
jobParameter = "测试参数",
shardingItemParameters = "0=A,1=B")
@Component
public class MySimpleJob implements SimpleJob {
@Override
public void execute(ShardingContext shardingContext) {
System.out.println(String.format("------Thread ID: %s, 任务总片数: %s, " +
"当前分片项: %s,当前参数: %s," +
"当前任务名称: %s,当前任务参数: %s," +
"当前任务的id: %s"
,
//获取当前线程的id
Thread.currentThread().getId(),
//获取任务总片数
shardingContext.getShardingTotalCount(),
//获取当前分片项
shardingContext.getShardingItem(),
//获取当前的参数
shardingContext.getShardingParameter(),
//获取当前的任务名称
shardingContext.getJobName(),
//获取当前任务参数
shardingContext.getJobParameter(),
//获取任务的id
shardingContext.getTaskId()
));
}
}
4.参数说明
推荐阅读:
<<<传统任务调度实现方案及demo示例
<<<传统任务调度存在的缺陷
<<<如何保证我们的定时任务只会触发一次
<<<定时任务宕机后如何处理
<<<分布式任务调度平台的特点
<<<XXL-Job和Elastic-job的区别
<<<Elastic-job的设计理念及原理说明
<<<修改Elastic-Job默认session过期时间提升故障转移速度
<<<XXL-job入门介绍
<<<XXL-job的架构与执行逻辑说明
<<<XXL-Job Admin平台搭建
<<<SpringBoot项目集成XXL-Job
<<<XXL-Job Admin任务调度的配置及预警示例
<<<XXL-Job使用分片集群机制将100W的短信在5min内发完
<<<XXL-Job如何搭建集群