分布式任务调度项目xxl-job
xxl-job简介
分布式任务调度项目xxl-job的官网:分布式任务调度平台XXL-JOB
大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
常见使用场景如下:
- 同一服务多个实例的任务存在互斥时,需要统一协调、调度,任务分布式执行
- 定时任务的执行需要支持高可用、监控运维、故障告警
- 需要统一管理和追踪各个服务节点定时任务的运行情况,以及任务属性信息,例如任务所属服务、所属责任人
主要特性:
1.3 特性
1、执行失败可以查看日志
2、支持邮件报警
3、路由策略支持轮询等策略,可以减轻执行服务器的压力
4、轮询时间等参数修改后立即生效
5、执行器有问题或新增,快速识别
6、调度中心高可用,调度中心可以集群部署(集群部署的机器时钟必须同步),如果调度中心没有做负载在执行器的配置中需要配多个地址,如果调度中心配置负载则执行器配置负载地址即可
7、执行器高可用(执行器可以集群部署)
xxl-job架构图
核心模块 (1)调度中心 (2) 执行器,类似schedule运行所在的机器。
调度中心负责将任务,分发到执行器执行。
- 调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。
- 执行模块(执行器):负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;接收“调度中心”的执行请求、终止请求和日志请求等。
集群化部署
部署多台调度器和执行器。或者在配置文件中写多个调度中心地址。
日常开发中使用xxl-job
开发计划任务
通常我们使用spring的schedule处理计划任务,替换为xxl-job操作步骤
LidarFileSizeSyncService.java 为例, 代码中有spring的schedule定时任务
@Scheduled(cron = "0 0/1 * * * ?")
public void lidarFileSizeSync() {
.....
}
将 @Scheduled(cron = "0 0/1 * * * ?") 调用改为
@XxlJob("lidarFileSizeSync") 任务名称自定,但是相同执行器appname下,不能重复。
2 调度中心新增开发的计划任务
登录调度中心,测试环境调度中心为
http://localhost:8081/xxl-job-admin
进入登录界面,帐号默认 admin ,密码默认 123456
点”新增“按钮
在新增界面增加,任务信息
其中关键项为 任务执行时间
任务名JobHandler必须与 XxlJob名一致。 任务描述,描述任务的功能说明,负责人,填写开发负责功能的人员名称。
如果,添加周期性执行任务,在“调度类型”项,选择 固定速度,周期单位为秒。
3. 管理任务状态
此时任务默认是STOP状态 , 此时可以先在操作按钮,点”执行一次“,查询日志等操作,然后再把任务设置为启动状态。
执行完成后,可以查看执行日志,点查看可以看到任务执行情况,是哪个调度器执行的等信息。
如果使用 任务中也可以使用 XxlJobHelper.log("======lidarFileSizeSync.");
在执行器中的 xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler ,也可以看到执行的日志。
示例代码
基于springboot执行器示例
链接:https://pan.baidu.com/s/1-0H4C6_2wJLtAmxTbeyd6w?pwd=lb9l
提取码:lb9l
执行器代码配置说明
### 调度中心服务器地址 "http://address" ,如果地址为空,不注册为执行器。 有多个地址使用逗号分开 "http://address01,http://address02"
xxl.job.admin.addresses=http://172.30.1.17:8081/xxl-job-admin
### 执行器名称,根据项目定义名称[小屏 executor-auto,大屏 executor-dgtn]
xxl.job.executor.appname=xxl-job-executor-sample
### 任务执行器端口,如果端口设置为0,执行器会自动使用一个空闲端口
xxl.job.executor.port=0
### 执行器日志目录
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### 日志保留时间
xxl.job.executor.logretentiondays=7
分布式任务调度项目xxl-job相关推荐
- xxl子任务_阿里面试官:聊一下分布式任务调度有那些解决方案?
作者:黄兆平 来源:http://blog.freshfood.cn/article/39 # 简介 随着系统规模的发展,定时任务数量日益增多,任务也变得越来越复杂,尤其是在分布式环境下,存在多个业务 ...
- xxl子任务_XXL-JOB v2.0.2,分布式任务调度平台 | 多项特性优化更新
v2.0.2 Release Notes 1.底层通讯方案优化:升级较新版本xxl-rpc,由"JETTY"方案调整为"NETTY_HTTP"方案,执行器内嵌n ...
- xxl子任务_XXL-JOB v2.1.2 发布,分布式任务调度平台
v2.1.2 Release Notes 1.方法任务支持:由原来基于JobHandler类任务开发方式,优化为支持基于方法的任务开发方式:因此,可以支持单个类中开发多个任务方法,进行类复用 @Xxl ...
- 赫拉(hera)分布式任务调度系统之项目启动(二)
文章目录 赫拉 创建表 打包部署 测试 TIPS 加入群聊 赫拉 大数据平台,随着业务发展,每天承载着成千上万的ETL任务调度,这些任务集中在hive,shell脚本调度.怎么样让大量的ETL任务准确 ...
- python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...
SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台 一.概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源 ...
- python任务调度平台 界面_分布式任务调度平台XXL-JOB
以前带我的人说过,最好的学习就是看官方文档,个人也有4个T的学习视频,但是会发现讲的都是入门,有的也比较浅. 官方文档比较官方,也比较权威,打开xxl-job的官网,写的贼详细,有些人喜欢收博客,不喜 ...
- 轻量级分布式任务调度平台 XXL-JOB
From:https://www.cnblogs.com/xuxueli/p/5021979.html github 地址 及 中文文档地址:https://github.com/xuxueli/xx ...
- 分布式任务调度平台一站式讲解
文章目录 一.传统的定时任务 1. 传统的定时任务存在那些缺点 2. 定时任务集群幂等性问题 二.传统定时任务的实现方案 2.1. 多线程 2.2. TimeTask 2.3. 线程池 2.4. Sp ...
- python任务调度平台 界面_分布式任务调度平台XXL-JOB搭建教程
关于分布式任务调度平台XXL-JOB,其实作者 许雪里在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式记 ...
最新文章
- 安全36计 你需要了解的那些安全术语
- python try-except处理异常的常用方法分析
- 【自适应(盲)均衡6】信号过多径衰落信道的矩阵乘法表示之Toeplitz矩阵和Toeplitz块矩阵的生成(分数间隔FSE)
- ORA-27101 shared memory realm does not exist 错误处理
- 使用vsftp作为集群的yum仓库
- IAR编译Z-Stack项目报错—Error[e46]: Undefined external “?V11” referred in AF
- 平面/UI设计师社区网站集设网|让你作品开始发光
- 《人月神话》读书笔记2--空间技能
- 常用Maven插件终极大全,速度收藏!
- pytorch查看模型weight与grad
- messagebox
- java weblogic 下载_JAVA_weblogic企业级技术 PDF 下载
- sip软电话免费下载地址(eyebeam)
- jsp内置对象练习题
- 移动平均法又称滑动平均法、滑动平均模型法(Moving average,MA)
- 计算机d盘无法格式化,为什么不能格式化D盘?D盘无法格式化的解决方法
- 全面解决交通难题,智慧大脑助力城市创建智慧交通管理体系
- 2014年5月份第1周51Aspx源码发布详情
- 如何通过github实现个人网页上传
- eap wifi 证书_用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)