# uncode-schedule **Repository Path**: kinpp/uncode-schedule ## Basic Information - **Project Name**: uncode-schedule - **Description**: 基于zookeeper+quartz/spring task的分布式任务调度组件 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: http://www.uncode.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 401 - **Created**: 2016-04-27 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # uncode-schedule 基于zookeeper+spring task/quartz的分布式任务调度组件,确保所有任务在集群中不重复,不遗漏的执行。支持动态添加和删除任务。 # 功能概述 1. 基于zookeeper+spring task/quartz的分布任务调度系统。 2. 确保每个任务在集群中不同节点上不重复的执行。 3. 单个任务节点故障时自动转移到其他任务节点继续执行。 4. 任务节点启动时必须保证zookeeper可用,任务节点运行期zookeeper集群不可用时任务节点保持可用前状态运行,zookeeper集群恢复正常运期。 5. 支持动态添加和删除任务。 6. 添加ip黑名单,过滤不需要执行任务的节点。 7. 简单管理后台 说明: * 单节点故障时需要业务保障数据完整性或幂等性 * 具体使用方式和spring task相同 ------------------------------------------------------------------------ # Uncode-Schedule ## Spring bean public class SimpleTask { private static int i = 0; public void print() { System.out.println("===========start!========="); System.out.println("I:"+i);i++; System.out.println("=========== end !========="); } } ## xml配置 ## API 1 动态添加任务 ConsoleManager.addScheduleTask(TaskDefine taskDefine); 2 动态删除任务 ConsoleManager.delScheduleTask(String targetBean, String targetMethod); 3 查询任务列表 ConsoleManager.queryScheduleTask(); ------------------------------------------------------------------------ # 基于Spring Task的XML配置 ## XML方式 1 Spring bean public class SimpleTask { private static int i = 0; public void print() { System.out.println("===========start!========="); System.out.println("I:"+i);i++; System.out.println("=========== end !========="); } } 2 xml配置 ------------------------------------------------------------------------ ## Annotation方式 1 Spring bean @Component public class SimpleTask { private static int i = 0; @Scheduled(fixedDelay = 1000) public void print() { System.out.println("===========start!========="); System.out.println("I:"+i);i++; System.out.println("=========== end !========="); } } 2 xml配置 ------------------------------------------------------------------------ # 基于Quartz的XML配置 注意:spring的MethodInvokingJobDetailFactoryBean改成cn.uncode.schedule.quartz.MethodInvokingJobDetailFactoryBean 0/3 * * * * ? ------------------------------------------------------------------------ # 管理后台 UncodeScheduleManager cn.uncode.schedule.web.ManagerServlet UncodeScheduleManager /uncode/schedule ------------------------------------------------------------------------ # 版权 作者:冶卫军(ywj_316@qq.com,微信:yeweijun) 技术支持QQ群:47306892 Copyright 2013 www.uncode.cn