Hydra-Io Java 分布式作业流调度框架开源项目

我要开发同款
匿名用户2017年07月03日
40阅读
开发技术Java
所属分类程序开发、作业/任务调度
授权协议Apache

作品详情

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;   }   }

注解说明:

执行作业:public class Main {    public static void main(String[] strings){        BatchSystem system = AnnotationBatchSystem.getInstance().setScanPackage("com.xxxx.xxxx.test");        system.start();    }}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论