您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页elastic-job简单入门

elastic-job简单入门

来源:爱够旅游网
elastic-job简单⼊门

简介

  Elastic-Job是⼀个分布式调度解决⽅案,由两个相互独⽴的⼦项⽬Elastic-Job-Lite和Elastic-Job-Cloud组成。  Elastic-Job-Lite定位为轻量级⽆中⼼化解决⽅案,使⽤jar包的形式提供分布式任务的协调服务。功能列表:

分布式调度协调弹性扩容缩容失效转移

错过执⾏作业重触发

作业分⽚⼀致性,保证同⼀分⽚在分布式环境中仅⼀个执⾏实例⾃诊断并修复分布式不稳定造成的问题⽀持并⾏调度

⽀持作业⽣命周期操作丰富的作业类型

Spring整合以及命名空间提供运维平台⼊门开发  

pom⽂件

com.dangdang

elastic-job-lite-core 2.1.5

com.dangdang

elastic-job-lite-spring 2.1.5

xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.dangdang.com/schema/ddframe/job

http://www.dangdang.com/schema/ddframe/job/job.xsd http://www.dangdang.com/schema/ddframe/reg

http://www.dangdang.com/schema/ddframe/reg/reg.xsd\">

namespace=\"elastic-job\" base-sleep-time-milliseconds=\"1000\" max-sleep-time-milliseconds=\"3000\" max-retries=\"3\" />

当在中配置了数据源(如上)时,会⾃动创建两张数据库表分别是JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG JOB_EXECUTION_LOG记录每次作业的执⾏历史。分为两个步骤:

1. 作业开始执⾏时向数据库插⼊数据,除failure_cause和complete_time外的其他字段均不为空。

2. 作业完成执⾏时向数据库更新数据,更新is_success, complete_time和failure_cause(如果作业执⾏失败)。

JOB_STATUS_TRACE_LOG记录作业状态变更痕迹表。可通过每次作业运⾏的task_id查询作业状态变化的⽣命周期和运⾏轨迹。

实现SimleJob接⼝

public class MyElasticJob implements SimpleJob {

public void execute(ShardingContext shardingContext) {

//1.当分⽚数为1时,在同⼀个zookepper和jobname情况下,多台机器部署了Elastic job时, // 只有拿到shardingContext.getShardingItem()为0的机器得以执⾏,其他的机器不执⾏ //总⽚数

int shardingTotalCount = shardingContext.getShardingTotalCount(); //当前分⽚项

int shardingItem = shardingContext.getShardingItem(); switch (shardingItem){ case 0: run(); break; case 1: break; } }

private void run(){ //dosometing }}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务