分布式任务调度项目xxl-job

news2024/11/30 14:39:37

xxl-job简介

分布式任务调度项目xxl-job的官网:分布式任务调度平台XXL-JOB

大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

常见使用场景如下:

  • 同一服务多个实例的任务存在互斥时,需要统一协调、调度,任务分布式执行
  • 定时任务的执行需要支持高可用、监控运维、故障告警
  • 需要统一管理和追踪各个服务节点定时任务的运行情况,以及任务属性信息,例如任务所属服务、所属责任人

主要特性:

1.3 特性

1、执行失败可以查看日志

2、支持邮件报警

3、路由策略支持轮询等策略,可以减轻执行服务器的压力

4、轮询时间等参数修改后立即生效

5、执行器有问题或新增,快速识别

6、调度中心高可用,调度中心可以集群部署(集群部署的机器时钟必须同步),如果调度中心没有做负载在执行器的配置中需要配多个地址,如果调度中心配置负载则执行器配置负载地址即可

7、执行器高可用(执行器可以集群部署)

xxl-job架构图

       核心模块  (1)调度中心 (2) 执行器,类似schedule运行所在的机器。

        调度中心负责将任务,分发到执行器执行。

  • 调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。
  • 执行模块(执行器):负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;接收“调度中心”的执行请求、终止请求和日志请求等。

 

集群化部署

         部署多台调度器和执行器。或者在配置文件中写多个调度中心地址。

 

日常开发中使用xxl-job

  1. 开发计划任务

通常我们使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2012】408联考数据结构真题整理

2012年 1 题目 解析 递归 2 题目 答案:A 解析 3 题目 解析 4 题目 答案:B 解析 T1:1T2:2T3:2 1 1 4T4:T3 T2 1 2 4 1 7T5:T4 T3 1 7 4 1 12T6:T5 T4 1 …

Mac M1 Datasophon 安装

Mac M1 Datasophon 安装 什么是 Datasophon DataSophon 是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务。 网络要求 要求各机器各组件正常运行提供如下的网络端口配置: 组件默认端口…

PROFINET转EtherCAT网关方案设计

1 摘要 PLC控制器和远程IO通过通讯的方式在目前的生产现场中越来越频繁;有些现场是控制器和远程IO站是统一的通讯协议,而有些现场会出现远程IO站不用协议的情况,主要是来自不同厂家的产品受限。 1.1 解决方案 河南某现场控制器采用西门子1500…

Python之第十一章 面向对象 --- 三大特征

目录 Python之第十一章 面向对象 --- 三大特征 面向对象三大特征 --- 封装 1.在Python代码中,封装有两层含义: 2.封装中的私有属性和私有方法 3.私有属性的访问限制 4.私有属性设置与访问接口 5.私有方法 6.封装的意义 7.property装饰器封装 面…

SCADA系统架构、类型和应用

智能仪表和远程终端单元(RTU)/可编程逻辑控制器(PLC)的进步使得许多行业的过程控制都可以利用SCADA系统的优势轻松管理和操作。SCADA在多种应用中很受欢迎,如加工工业、石油和天然气、发电、配电和公用事业,水和废物控制、农业/灌溉、制造、运输系统等。…

RNN在图像压缩领域的应用-Variable rate image compression with recurrent neural networks

Variable Rate Image Compression with Recurrent Neural Networks RNN在图像压缩领域应用最经典的一篇,由Google的George Toderici提出。原文连接:Variable Rate Image Compression with Recurrent Neural Networks 文章提出了一种基于卷积和反卷积LSTM的RNN网络…

美食杰项目 -- 登录注册(三)

目录前言:具体实现思路:步骤:1. 展示美食杰菜谱大全效果在这里插入图片描述2. 引入element-ui3. 代码总结:前言: 本文给大家讲解,美食杰项目中 登录注册实现的效果,和具体代码。 具体实现思路&…

内网渗透神器CobaltStrike之钓鱼攻击(六)

一、HTA木马 简介 HTA是HTML Application的缩写,直接将HTML保存成HTA的格式,是一个独立的应用软件。HTA虽然用HTML、JS和CSS编写,却比普通网页权限大得多,它具有桌面程序的所有权限。就是一个html应用程序,双击就能运…

LeetCode-剑指57-II.和为s的连续正数序列

1、循环 我们可以一次循环每一个数,在⌊n2⌋\left \lfloor \frac{n}{2} \right \rfloor⌊2n​⌋的范围内循环检查添加新的数字后形成的数组和是否为target,若是则将当前数组加入结果当中;否则继续进行循环或跳出循环。 class Solution { pu…

VR,向「B」而生

VR仍是一门好生意,对于VR厂商而言,能否看到VR技术大规模普及的那一天,在于是否认清当下局势,即什么时间干什么事。毕竟在这个泡沫较多的领域,“脱虚向实”,活下去,专注技术与服务,更…

块级格式化上下文BFC

块级格式化上下文BFC创建格式化上下文BFC有哪些特性?特性一特性二特性三特性四BFC的特性可以解决哪些问题?高度塌陷margin塌陷包含塌陷BFC是前端日常开发中离不开的知识点,“块级格式化上下文”是格式化上下文中最常用的一种,格式…

iOS程序内语言切换使用小结

随着时代的发展,应用程序相继出现了不同语言的版本方案,中文,英文,法文,韩文等等;想在应用程序中实现语言的自由切换,需要配置多个语言的文件,根据用户的动态选择获取不同语言文件下…

数字孪生论文阅读笔记【1】

[1]刘劲松. 高档数控机床数字孪生关键技术研究与应用[D].中国科学院大学(中国科学院沈阳计算技术研究所),2022.DOI:10.27587/d.cnki.gksjs.2022.000005. Motivation 不同数控机床对外信息接口不同,导致信息孤岛机床部件诊断困难,造成资源浪费维护资源不…

计算机中的数据存储规则

计算机的存储规则: text文本image图片sound声音 在计算机中:任意数据都是以二进制的形式进行存储:两种状态. 0与1, 打孔法 进制转换 任意进制转十进制: 公式: 系数 * 基数的权次幂 相加 系数: 就是每一位上的数字 基数:当前的进…

async/await详解

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:专注于前端领域各种技术,热衷分享,期待你的关注。 💫系列专栏:vue3从入门到精通 📝个人签名:不破不立 &#x1f36c…

面向对象(高级)

目录 1. 类变量和类方法(静态变量) 类变量(静态变量) 内存刨析: 注意事项和使用细节: 类方法(静态方法): 使用场景: 注意事项和细节讨论: …

净亏损2.9亿元,财务业绩陷入困境后,逸仙电商盈利仍遥遥无期

来源:猛兽财经 作者:猛兽财经 逸仙电商概况 逸仙电商(YSG)是一家开曼群岛控股公司,通过与可变利益实体(“VIE”)的合同协议,在中国生产和销售化妆品和美容产品。公司结构如图所示。 逸仙电商成立的目的是…

不懂Hybird开发,感觉错过一个亿~

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。 ​ 纯原生(Native App)&#xff…

附录10-JS正则

在JS中有多种内置方法可以使用正则表达式,比如说match,exec,test等 文章参考 第十四章 吃通js正则表达式,javascript前端工程师必会技能_哔哩哔哩_bilibili 目录 1 正则常用方法 1.1 exec的简单使用 1.1.1 基本使用 1.1.2 lastIndex属性 1.1.…

Android Activity跳转

实现点击按钮,发送消息并跳转到另一个Activity MainActivity添加SendMessage方法 const val EXTRA_MESSAGE "com.example.myfirstapp.MESSAGE"class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super…