任务调度框架kunka
2017-09-01 18:19
323 查看
kunka
kunka是一个任务调度框架。用户只需要在Task接口中实现自己要执行的功能,并且选择合适的执行器,放入TaskManager中,就可以了完成整个任务了。实现细节
整个任务信息存放在内存中,效率高,对任务数目做了限制可以为task添加监听器,当task状态变动时,触发监听器
实现了四种执行器。包括单线程执行器,并发执行器,定时执行器和多子任务执行器。
每个执行器都内置了调度器,用户只需要添加任务,自动完成任务调度
每个调度器有自己的生命周期(当前是空闲1秒),自动关闭调度器和执行器(比如线程池)
整体架构
示例
//选择并发执行器,并发数10 final Executor<Task> executor = new ConcurrentExecutor(10); //实现任务监听器 final TaskListener listener = new TaskListener() { @Override public void onchange(TaskStatus taskStatus) { System.out.println("任务ID:" + taskStatus.getTaskId() + " 任务执行:" + taskStatus.getStatus() + "%"); } }; //添加到任务管理中 TaskManager.getInstance().addTask(new TestTask("testTask"), executor, new TaskListener[] { listener });
示例执行结果
放入199个任务到执行器,中断4号任务,并发度10任务开始:
任务结尾:
github地址
github.com/lknny/kunka代码写了很久了,一直没时间做介绍,实现起来也比较粗糙,不过细细打磨,思想上还是一个经典的调度框架。
相关文章推荐
- Java任务调度框架----kunka
- Spring配置Quartz任务调度框架教程
- 07 Java JUC 中的 Executor 框架 周期性任务调度
- 任务调度开源框架Quartz动态添加、修改和删除定时任务+调用与触发器表达式
- C# 定时任务 调度框架 WebWork (Quartz.NET) Web版的Windows服务
- 企业级任务调度框架Quartz(9) Quartz之作业触发器Trigger
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- Skynet服务器框架(八) 任务和消息调度机制
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- Quartz.Net任务统一调度框架
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- shadowX 分布式任务调度框架实现企业级监控业务
- Quartz.NET 任务调度框架
- 任务调度框架Quartz(二) 使用job、trigger、schedule调用定时任务
- quartz任务调度框架实现任务定时执行,不传参的配置(一)
- 企业级任务调度框架Quartz一 --企业应用中的任务调度介绍
- Spring 框架参考文档(六)-Integration之任务执行与调度
- 企业级任务调度框架Quartz(6) 任务调度器(Scheduler)
- java框架源码之Quartz(1):定时任务如何调度
- Lazy Scheduler:我的轻量级任务调度框架