您现在的位置是:主页 > news > 有那些专门做财务分析的网站/近期时政热点新闻20条

有那些专门做财务分析的网站/近期时政热点新闻20条

admin2025/6/27 1:57:12news

简介有那些专门做财务分析的网站,近期时政热点新闻20条,网络营销论文范文,东莞市做网站的公司哪家好xxl-job官网 文章目录简介特性为什么使用xxl-job快速入门这里我们先配置部署“调度中心”配置部署“执行器项目”创建执行器创建任务TestHandler 创建源码下载简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放…

有那些专门做财务分析的网站,近期时政热点新闻20条,网络营销论文范文,东莞市做网站的公司哪家好xxl-job官网 文章目录简介特性为什么使用xxl-job快速入门这里我们先配置部署“调度中心”配置部署“执行器项目”创建执行器创建任务TestHandler 创建源码下载简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放…

xxl-job官网

文章目录

    • 简介
    • 特性
    • 为什么使用xxl-job
    • 快速入门
    • 这里我们先配置部署“调度中心”
    • 配置部署“执行器项目”
      • 创建执行器
      • 创建任务
      • TestHandler 创建
    • 源码下载

简介

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

特性

1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;
3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;
4、执行器HA(分布式):任务分布式执行,任务”执行器”支持集群部署,可保证任务执行HA;
5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
… 更多请参考官网

为什么使用xxl-job

  • quartz 的不足

Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:

问题一:调用API的的方式操作任务,不人性化;
问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。
问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况下,此时调度系统的性能将大大受限于业务;
问题四:quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导致节点负载悬殊非常大;而XXL-JOB通过执行器实现“协同分配式”运行任务,充分发挥集群优势,负载各节点均衡。
XXL-JOB弥补了quartz的上述不足之处。

快速入门

在这里插入图片描述

github下载最新版本

源码目录说明:

xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器):xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;:xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用;:xxl-job-executor-sample-frameless:无框架版本;:xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;:xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;:xxl-job-executor-sample-jboot:jboot版本,通过jboot管理执行器;

这里我们大致用到这三个目录 xxl-job-admin xxl-job-core xxl-job-executor-sample-springboot
在这里插入图片描述

这里我们先配置部署“调度中心”

  1. 初始化数据库脚本:
    “调度数据库初始化SQL脚本” 位置为:
    /xxl-job/doc/db/tables_xxl_job.sql

修改 调度中心配置文件

### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
### 报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
### 调度中心通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
xxl.job.i18n=zh_CN
## 调度线程池最大线程配置【必填】
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100
### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则,-1,关闭自动清理功能;
xxl.job.logretentiondays=30

说明 这里的配置文件大致只需要修改mysql连接的账号密码

配置完成后直接访问 http://localhost:8080/xxl-job-admin
进入登入页面输入账号密码:
“admin/123456”
在这里插入图片描述
调度中心集群方式或者以docker方式部署请参考官网

配置部署“执行器项目”

执行器配置,配置文件地址:
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
执行器配置,配置内容说明:

### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册""任务结果回调";为空则关闭自动注册;
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### 执行器通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
xxl.job.executor.appname=order-service
### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
xxl.job.executor.address=
### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册""调度中心请求并触发任务";
xxl.job.executor.ip=
### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.port=9999
### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则,-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=30

上面我们修改下

xxl.job.executor.appname=order-service

这是执行器的名字
然后我们在任务调度中心创建我们的执行器和任务

创建执行器

在这里插入图片描述
在这里插入图片描述

  • AppName: 是每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;
  • 名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;
  • 排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;
  • 注册方式:调度中心获取执行器地址的方式;
    • 自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;
    • 手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;
  • 机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;

创建任务

在这里插入图片描述

在这里插入图片描述
这里Cron xxl-job V2.2可以直接选择时间,不像以前必须自己填写
jobHandler是我们开发任务使用的name,下面我们就来创建jobHandler,然后这个任务触发就会自动执行jobHandler里的逻辑代码
更多参数解释请参考官网

TestHandler 创建

说明: xxl-job V2.2更新了基于方法注解 “@XxlJob” 的方式进行任务开发
优点:
每个任务只需要开发一个方法,并添加”@XxlJob”注解即可,更加方便、快速。
支持自动扫描任务并注入到执行器容器。
缺点:要求Spring容器环境;

TestHandler

@Component
public class TestHandler {@XxlJob("testHandler")public ReturnT<String> execute(String param) throws Exception {System.out.println("这是一个xxl-job的测试任务");return ReturnT.SUCCESS;}
}

这个类开发完成后我们直接运行 XxlJobExecutorApplication,然后就可以看到任务被调度了

在这里插入图片描述
在这里插入图片描述

源码下载