于是就诞生了XXL-Job分布式、轻量级、易拓展、具有可视化Dashboard的定时任务。 官网:https://www.xuxueli.com/xxl-job/ Github地址:https://github.com/xuxueli/xxl-job/ Gitee地址:https://gitee.com /xuxueli0323/xxl-job/ 似乎不更新了 去Github下载发布包,解压 模块分为: xxl-job-admin:调度中心 xxl-job-core:公共依赖 xxl-job-executor 使用 添加xxl-job依赖 <dependency> <groupId>com.xuxueli</groupId> <artifactId
分布式任务调度平台XXL-JOB 初始化数据库 执行官方提供的SQL即可 /xxl-job/doc/db/tables_xxl_job.sql 源码编译 xuxueli/xxl-job 下载好源码后 通过Springboot管理执行器,推荐这种方式; :xxl-job-executor-sample-frameless:无框架版本; 因为是直接部署,所以只需要修改调度中心配置即可 ### xxl-job 依赖 compile group: 'com.xuxueli', name: 'xxl-job-core' 配置 ### xxl-job admin address list, such as "http , access token xxl.job.accessToken= ### xxl-job executor appname xxl.job.executor.appname=pension-job =9999 ### xxl-job executor log-path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler ### xxl-job
Github 地址: https://github.com/xuxueli/xxl-job/ 。 官⽅介绍: https://www.xuxueli.com/xxl-job/ 。 XXL-JOB 于 2015 年开源,是⼀款优秀的轻量级分布式任务调度框架,⽀持任务可视化管理、弹性 扩容缩容、任务失败重试和告警、任务分⽚等功能。 关于XXL-JOB的特性可以参考下图(图片来自JavaGuid) XXL-JOB的架构图如下: 从上图可以看出, XXL-JOB 由 调度中⼼ 和 执⾏器 两⼤部分组成。 不要被 XXL-JOB 的架构图给吓着了,实际上,我们要⽤ XXL-JOB 的话,只需要重写 IJobHandler ⾃定义任务执⾏逻辑就可以了,⾮常易⽤! 为了应对多个定时任务同时触发带来的数据一致性问题,XXL-JOB 使用一个静态的同步 Map 来存储每个任务的 jobId 和其对应的计数。
一、什么是XXL-JOB?先来看看官方文档的定义:XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 首先我认为它是一款优秀的框架,但我个人不是很喜欢的点就是使用API的方式控制任务以及需要持久化业务QuartzJobBean到底层数据表从而产生入侵,所以选择了XXL-JOB。 三、架构这里我们先看一下XXL-JOB官方文档的架构图,如下:乍一看好像还挺复杂,但我们只需要知道它由调度中心和执行器两部分组成。 四、小结本篇文章只是先给各位读者大致介绍一下XXL-JOB,下一篇将会给大家演示怎么使用它。 另外,其实它的文档也很详细,实在等不及的读者也可以读文档来自己试下,地址:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%
什么是XXL-JOB? XXL-JOB是一款分布式任务调度平台 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 现已开放源代码并接入多家公司线上产品线,开箱即用 官方文档地址:https://www.xuxueli.com/xxl-job/ 源码地址:https://github.com/xuxueli/xxl-job 关于一些特性就不做简单复杂的介绍,可以参考:https://www.xuxueli.com/xxl-job/#1.3%20%E7%89%B9%E6%80%A7 如何使用? com.mysql.jdbc.Driver 2.2 部署调度中心 http://127.0.0.1:8080/xxl-job-admin 默认账号密码:admin/123456 3.配置部署“执行器” 3.1 执行器配置 #### xxl-job logRetentionDays; @Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job
拉取xxl-job的代码 ? 执行XxlJobAdminApplication启动调度中心。 然后执行: ? 启动执行器中心之后,然后访问admin界面: ? 从里面可以看到可以执行任务管理。 xxlJobScheduler = new XxlJobScheduler(); //执行调度中心初始化 xxlJobScheduler.init(); } 初始化操作: //xxl-job JobTriggerPoolHelper ) //启动定时任务 JobScheduleHelper.getInstance().start(); logger.info(">>>>>>>>> init xxl-job runResult = executorBiz.run(triggerParam); } catch (Exception e) { logger.error(">>>>>>>>>>> xxl-job (Runnable r, ThreadPoolExecutor executor) { throw new RuntimeException("xxl-job
其实xxl-job会做线程池隔离:调度线程池进行隔离拆分,慢任务自动降级进入slow线程池,避免耗尽调度线程,提高系统稳定性。 ## xxl-job, triggerpool max size xxl.job.triggerpool.fast.max=200 xxl.job.triggerpool.slow.max=100 由于机器性能差
0x01:下载xxl-job https://gitee.com/xuxueli0323/xxl-job ? Shanghai spring.datasource.username=root spring.datasource.password=123456 进入 /xuxueli0323-xxl-job-2.3.0/xxl-job ------------------------------------------------------------- [INFO] Reactor Summary: [INFO] [INFO] xxl-job ----------------------------------------------------- 0x05:构建Docker镜像 进入 /xuxueli0323-xxl-job-2.3.0/xxl-job run # 关闭容器 docker stop 容器ID #删除容器 docker rm 容器ID #查看是否启动成功 docker ps -a 参考:https://www.xuxueli.com/xxl-job
核心特性 简介:带你走近分布式调度XXL-Job核心特性 什么是XXL-Job XXL-JOB 大众点评的员工徐雪里在15年发布的分布式任务调度平台,是轻量级的分布式任务调度框架,目标是开发迅速 :https://github.com/xuxueli/xxl-job/ xxl-job的设计思想 将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求 源码部署和数据库表建立《上》 简介:新版分布式调度XXl-Job源码部署和数据库表建立《上》 下载地址(版本和课程保证一致) https://github.com/xuxueli/xxl-job/ 源码部署和数据库表建立《下》 简介:新版分布式调度XXl-Job源码部署和数据库表建立《下》 部署XXL-Job步骤 xxl-job-admin目录配置文件 application.properties 分布式调度任务实操 第1集 新版Springboot整合XXL-Job项目搭建 简介:新版Springboot整合XXL-Job项目搭建 新版Springboot介绍 GitHub地址:https
[root@host apps]# unzip xxl-job.zip #解压root@host apps]# cd xxl-job/xxl-job-admin/src/main/resources install maven #下载编译工具[root@host xxl-job-admin]# mvn clean -Dmaven.test.skip=true package; #编译[root@host xxl-job
——奥斯特洛夫斯基 昨天对接了xxl-job的restful api,发现其没有提供查询job信息的api,于是自己拓展 在原先com.xxl.job.admin.controller.JobApiController
三、实现方案 1.在自动注入类添加环境注解 正常情况下我们接入xxl-job能力时,需要注入XxlJobExecutor调度执行器,在spring环境用XxlJobSpringExecutor即可。 bean, executeMethod, initMethod, destroyMethod)); 大致流程如下: 通过上述流程我们大致可以了解到,对于使用spring作为基础构件的接入,想要使用xxl-job 五、参考 https://www.xuxueli.com/xxl-job/#5.7%20%E4%BB%BB%E5%8A%A1%E6%B3%A8%E5%86%8C,%20%E4%BB%BB%E5%8A%A1% E8%87%AA%E5%8A%A8%E5%8F%91%E7%8E%B0 https://github.com/xuxueli/xxl-job/blob/master/xxl-job-core/src/main /java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java https://github.com/xuxueli/xxl-job/blob
《分布式任务调度平台XXL-JOB》 三、任务详解 配置属性详细说明: - 执行器:任务的绑定的执行器,任务触发调度时将会自动发现注册成功的执行器, 实现任务自动发现功能; 另一方面也可以方便的进行任务分组
01 SQL路由 【Nacos源码分析】- 02 获取配置流程 【Java并发编程】- 03 MESI、内存屏障 【Spring源码】- 11 Spring AOP之编程式事务 源码环境搭建 1、xxl-job 官网源码库https://github.com/xuxueli/xxl-job上fork一份到自己github库; 2、将最新分支2.2.0拉取到本地并导入到IDEA; xxl-job-admin: 调度引擎 xxl-job-core:核心公共依赖 xxl-job-executor-samples:执行器示例 插件统计代码量如下,xxl-job代码量非常上,总代码量只有1.4w行: 3、导入数据库脚本文件 :/xxl-job/doc/db/tables_xxl_job.sql,并修改xxl-job-admin模块中application.yml配置文件中数据库连接配置; ### xxl-job, datasource
Springboot项目引入xxl-job 从Gitee拉取xxl-job源#码 配置xxl-job-admin服务中的数据库信息,端口等信息。我这里是将其打成docker镜像部署到服务端的。 #maven打包 mvn -install clean #构建docker镜像,镜像名称不允许下划线 docker build -t xxl-job:latest . port: 8082 ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径; logpath: /data/applogs/xxl-job seconds"> <contextName>logback</contextName> <property name="log.path" value="/data/applogs/<em>xxl-job</em> 创建上面代码中的任务,然后执行下 执行一次任务后查看日志 代码存放于Gitee仓库,使用了Nacos和<em>xxl-job</em>,如果有需要执行的定时任务,请拉新分支,完成后提pull request即可
25 16:33 */ @FeignClient(name = "xxlJobClient", url = "${third-party.config.xxl-job.host:not found xxl-job service url}") public interface XxlJobClient { /** * xxl-job登录接口 * * @param params xxl job 密码 */ @Value("${xxl.job.password}") private String password; /** * xxl-job 操作类 */ @Resource private RedisTemplate<String, Object> redisTemplate; /** * 登录xxl-job @Recover public void recoverCallback(SystemException systemException) { log.error("远程操作xxl-job
今天,我们就从大众点评许雪里大佬开源的xxl-job开始学习。 什么?你问我为什么从xxl-job开始学习?别问,问就是简单,好学,易上手。 二、什么是xxl-job 1. 简介 xxl-job是大众点评许雪里开源的一款分布式调度中间件。根据上面的分类,xxl-job属于中心化、作业竞争的分布式调度中间件。 下面是xxl-job最新版本的架构图: 从上面的架构图中我们可以看到,在xxl-job中,作业调度是由调度中心来进行统筹协调的,在调度中心中进行调度器和执行器的管理和注册。 这也是为什么闲鱼选择xxl-job而不是elastic-job来先进行研究学习。 由于网上有太多关于xxl-job安装使用的教程,下一篇我们就直接开始源码的学习。 想了解xxl-job安装使用的同学可以自行查询文档。 参考资料 [1]分布式任务调度平台XXL-JOB: https://www.xuxueli.com/xxl-job/
正文: XXL-JOB的介绍 XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 现已开放源代码并接入多家公司线上产品线,开箱即用 XXL-JOB快速入门 文档地址 中文文档 English Documentation 下载源码 源码仓库地址 Release Download https ://github.com/xuxueli/xxl-job Download http://gitee.com/xuxueli0323/xxl-job Download 配置部署”调度中心” 初始化“ 调度数据库” xxl-job\doc\db\tables_xxl_job.sql 修改数据库配置信息 xxl-job\xxl-job-admin\src\main\resources\xxl-job-admin.properties 打包 在xxl-job根目录下执行 mvn clean package 部署“调度中心” 找到xxl-job-admin的target目录 xxl-job\xxl-job-admin\target\xxl-job-admin
25 16:33 */ @FeignClient(name = "xxlJobClient", url = "${third-party.config.xxl-job.host:not found xxl-job service url}") public interface XxlJobClient { /** * xxl-job登录接口 * * @param params xxl job 密码 */ @Value("${xxl.job.password}") private String password; /** * xxl-job 操作类 */ @Resource private RedisTemplate<String, Object> redisTemplate; /** * 登录xxl-job @Recover public void recoverCallback(SystemException systemException) { log.error("远程操作xxl-job
=default_token ### xxl-job executor appname xxl.job.executor.appname=xxl-job-executor-sample ### xxl-job =/data/applogs/xxl-job/jobhandler ### xxl-job executor log-retention-days xxl.job.executor.logretentiondays 而xxl-job执行的任务类型相对较丰富,可以直接执行glueshell类型的任务,也就是可以直接通过控制台到业务机器执行shell,很多场景这是很危险的做法。 参考 https://github.com/xuxueli/xxl-job https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5% q=xxl-job https://www.cnvd.org.cn/flaw/list?