欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...

发布时间:2024/9/19 python 86 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台

一、概述

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

但是我们到底用它来干什么呢?

我们都知道,Quartz是Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制,在《SpringBoot入门建站全系列(十五)内置定时任务及Quartz定时任务使用》 一篇中,已经讲述了Quartz的使用方法。

而XXL-JOB正是基于Quartz,并将Quartz的功能进行封装,作为执行器,使其可以和一个统一的调度中心进行交互,将任务的调度管理交给调度中心处理,任务的执行交给Quartz执行。(XXL-JOB 2.1.0版本之后不再使用Quartz,但是本篇特意找到了使用Quartz的较新版本,2.0.1)。这样,执行任务的每个机器相当于一个个客户端,而调度中心则是各个客户端的总管(调度中心也可以集群化部署,但要公用一个数据库)。

首发地址:

品茗IT: https://www.pomit.cn/p/2412183455255041

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

一、数据库的初始化

需要先将xxl-job要求的表建好,地址是:https://gitee.com/xuxueli0323/xxl-job/tree/v2.0.1/doc/db 下的tables_xxl_job.sql文件。

如果不喜欢gitee,github地址是https://github.com/xuxueli/xxl-job;

但是gitee的速度快。

把tables_xxl_job.sql的sql执行下,注意里面的数据库是xxl-job,可以改成自己的数据库。

执行完成后,就出现这些表了:

二、调度中心的安装

找到想要下载的版本的tag,比如我找的是2.0.1:https://gitee.com/xuxueli0323/xxl-job/tree/v2.0.1, 点击下载。

注意,如果直接下载master,就是下载最新版本的xxl-job,可能不是你想要的。

2.0.1版本的xxl-job-admin改为SpringBoot应用了。

解压后,将xxl-job下的xxl-job-admin项目导入到工作台,如图所示:

我们要修改的就是application.properties文件,可以将端口修改下,数据库地址密码等肯定要修改地;邮箱地址也是要修改地;登录用户名等随意。

改完之后,打包,运行jar包。

运行成功后打开: http://127.0.0.1:8080/xxl-job-admin/ 即可。

三、执行器

执行器就是一个运行任务的客户端。需要注册到调度中心去。

本文假设你已经引入spring-boot-starter-web。已经是个SpringBoot项目了,如果不会搭建,可以打开这篇文章看一看《SpringBoot入门建站全系列(一)项目建立》。

首先,在调度中心新建执行器,这个步骤啥时候做其实都可以,如果想让执行器自动注册,需要在执行器启动前在调度中心把执行器新建好。

3.1 调度中心新建执行器

选择自动注册,需要在执行器启动前在调度中心把执行器新建好。手动注册需要手动填入机器和端口列表。

建好后,执行器启动之后,会自动注册进来:

3.2 Maven依赖

需要引入xxl-job-core.

<dependency>

3.3 配置文件

在application.properties 中需要配置数据库相关信息的信息,如:

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

3.4 执行器配置

需要配置handler的位置、xxl.job的相关参数等。

package

3.5 新建Job执行Handler

xxl-job提供了多种任务执行方式:GLUE模式(包含JAVA(groovy)、shell、php、nodejs、python等多种方式)和Bean模式;

一般情况下我们是使用Bean模式来定义任务,因为这个是正常的JAVA开发人员的思维。而GLUE模式,是将代码写在表里,动态执行。

这里,我先讲下怎么使用Bean模式。

开发步骤(官方说明): 1. 继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”; 2. 注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例; 3. 注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。 4. 执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;

package

四、测试任务执行

在调度中心的任务管理--> 新建任务:

建好以后,选择执行器,可以看到当前任务状态是stop:

可以点执行,也可以点启动

执行: 只执行一次 启动: 启动定时任务,安装cron表达式来执行。

我这里点执行之后,任务执行一次,点击日志查看日志记录:

完成!

品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。

快速构建项目

Spring项目快速开发工具:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!

总结

以上是生活随笔为你收集整理的python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。