java 分布式作业调度_Java 分布式作业流调度框架 Hydra-Io

软件介绍

Java 分布式作业流调度框架 Hydra-Io

Hydra 是由 Java 实现的作业流调度框架,它可以支持复杂作业流的调度。

主要有以下特点:

1. 支持分布式作业分片

2. 支持本地并发执行

3. 支持复杂作业树(作业流)

4. 实现业务代码和框架代码的解耦

5. 内部实现分布式调度,无需zookeeper等第三方分布式组件

6. 抛弃传统的cron表达,采用简单易懂的作业配置

note: 目前Hydra-Io 处于测试版本,暂没有在生产环境下运行的先例

计划:

在1.0 版本中 将支持一下特性

1. 同步支持zookeeper 、Redis 作为分布式组件

2. 实现基于XML的作业配置

3. 支持spring

测试版体验:

1.定义作业 testInvokeTask@Task("testInvokeTask")

public class TestInvokeTask {

@Executor("executorA")

@Expression(strategy = ExpressionStrategyEnum.TIMING, measure = ExpressionMeasureEnum.MINUTE,factor = "15")

@Distributed(strategy = DistributedStrategyEnum.SHARDING,number = 2)

public String executorA(EnvironmentParams context){

String jobName = context.getJobName();

int invokeIndex = context.getInvokeIndex();

String str = jobName + " - " + invokeIndex + " running at " + new Date();

System.out.println(str);

return str;

}

@Join("testInvokeTask@executorA")

@Executor("executorB")

public String executorB(EnvironmentParams context, String values){

String jobName = context.getJobName();

int invokeIndex = context.getInvokeIndex();

String str = jobName + " - " + invokeIndex + " running at " + new Date() + " param is:[" + values + " ]" ;

System.out.println(str);

return jobName;

}

@Join("testInvokeTask@executorB")

@Executor("executorC")

public String executorC(EnvironmentParams context, String values){

String jobName = context.getJobName();

int invokeIndex = context.getInvokeIndex();

String str = jobName + " - " + invokeIndex + " running at " + new Date() + " param is:[" + values + " ]" ;

System.out.println(str);

return jobName;

}

}

注解说明:

774429e0b5b5b9b2ba13218af536fdad.png

执行作业:public class Main {

public static void main(String[] strings){

BatchSystem system = AnnotationBatchSystem.getInstance().setScanPackage("com.xxxx.xxxx.test");

system.start();

}

}

为你推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值