# Plumejob **Repository Path**: plumeorg/plumejob ## Basic Information - **Project Name**: Plumejob - **Description**: plumejob是一个去中心化的分布式调度系统,集成简单易用,plumelog团队作品,并可和plumelog整合 1. 定时任务可以分布式部署,部署多个节点,不重复执行,保证定时任务的高可用 2. 定时任务的执行结果记录保存查询,方便追溯问题,执行出错有报警提示 3. 可以手动干预定时任务执行,通过后台直接修改执行周期,或者暂定执行,立即执行等 4. 去中心化设计,管理中心注册中心宕机的情况下不影响执行节点工作,做到到了真正意义上的高可用 5. 支持spring项目或者非spring项目 6. api执行模式做到了真正意义上的跨语言 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 23 - **Forks**: 7 - **Created**: 2021-02-05 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: task-schedule **Tags**: None ## README # plumejob ### 一、介绍 plumejob是一个去中心化的分布式调度系统,集成简单易用,plumelog团队作品,并可和plumelog整合 1. 定时任务可以分布式部署,部署多个节点,不重复执行,保证定时任务的高可用 2. 定时任务的执行结果记录保存查询,方便追溯问题,执行出错有报警提示 3. 可以手动干预定时任务执行,通过后台直接修改执行周期,或者暂定执行,立即执行等 4. 去中心化设计,管理中心注册中心宕机的情况下不影响执行节点工作,做到到了真正意义上的高可用 5. 支持spring项目或者非spring项目 6. api执行模式做到了真正意义上的跨语言 ### 二、使用 spring-boot项目参考plumejob-spring-boot-example #### 1.启动服务端 plumejob-server #### 2.引入starter ```xml com.plume plumejob-spring-boot-starter 1.0-SNAPSHOT ``` #### 3.加入配置 * 在你的项目的properties中加入配置 ```properties #应用名称 plumejob.config.appName=plume-job #注册中心地址,即plumejob的server地址 plumejob.config.host=http://localhost:8991 #任务线程池大小 plumejob.config.poolSize=5 #如果基于注解的加入包扫描路径 #plumejob.config.basePackages=com.plumejob.example ``` #### 4.启动项目 启动自己的项目 #### 5.配置任务信息 **注意:plumejob是基于类反射进行方法调用,方法所在类将无法被spring容器管理,也就无法使用@Autowire。** 可以使用plumejob提供的SpringContextUtil.getBean进行获取。参见:`AnnotationJob.getBeanFromSpring` * 基于配置的任务 参考 `com/plumejob/example/EmptyJob.java` * 基于注解的任务 参考 `com/plumejob/example/AnnotationJob.java`