大家好,我是咔咔 不期速成,日拱一卒

一、背景

在平时的业务场景中,经常有一些场景需要使用定时任务,比如:

  • 某个时间点发送优惠券
  • 发送短信等等。
  • 批量处理数据:批量统计上个月的账单,统计上个月销售数据等等。
  • 固定频率的场景:每隔5分钟需要执行一次。

所以定时任务在平时开发中并不少见,而且对于现在快速消费的时代,每天都需要发送各种推送,消息都需要依赖定时任务去完成,应用非常广泛。

xxl-job主要分为调度中心和执行器,简单来讲,调度中心就是后台管理,执行器就是执行定时任务的,就这么理解就行,没那么高大上。

二、所需工具

使用xxl-job需要先配置好maven、java环境,接下来先把所需要的工具都下载到本地

下载xxl-job源码

https://github.com/xuxueli/xxl-job.git

咔咔使用的编辑器是Intellij IDEA,可以下载社区版

下载maven


在这里插入图片描述

在这里插入图片描述

下载java并安装,下载地址

https://www.oracle.com/java/technologies/downloads/#java8-windows

在这里插入图片描述

三、配置maven

咔咔将下载的maven放到了D盘


修改\apache-maven-3.9.0\conf\settings.xml文件

把本来的配置修改为圈的内容

 <mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
 </mirror>

复制C:\Users\Administrator\.m2到maven中


配置环境变量


在这里插入图片描述

四、配置java环境

这里没有修改java的安装目录,直接默认安装位置到C:\Program Files\Java

环境变量都需要配置JAVA_HOME、CLASSPATH、path

  • JAVA_HOME:C:\Program Files\Java\jdk-18.0.2
  • CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
  • path:%JAVA_HOME%\bin、%JAVA_HOME%\jre\bin



五、验证配置是否成功

执行以下命令看是否配置成功

java -verison

javac -version

mvn -version

在这里插入图片描述

六、初始化MySQL表

# 调度数据库初始化SQL脚本位置:/xxl-job/doc/db/tables_xxl_job.sql
cd xxl-job/doc/db
# 登录mysql
mysql -uroot -p
# 执行mysql初始化脚本
source ./tables_xxl_job.sql 或者 source 绝对路径/tables_xxl_job.sql
# 切换数据库
use xxl_job;
# 查看表是否创建完毕
show tables;

看到xxl_job就表示数据库已经导进去了

七、部署调度中心

打开编辑器后需要先把maven的目录修改为咱们自己下载的


在这里插入图片描述

配置完成后,右击根目录的pom.xml文件,点击maven的Reload project


在这里插入图片描述

修改配置文件 \xxl-job-admin\src\main\resources\application.properties数据库配置


在这里插入图片描述

在根目录执行打包命令

maven package

执行完成后你就会在target中看到一个jar包


在这里插入图片描述

将包xxl-job-admin-2.3.1.jar通过scp命令传输到服务器中,这里咔咔使用的是虚拟机

执行命令,启动调度中心

java -jar xxl-job-admin-2.3.1.jar

在这里插入图片描述

使用你得域名加默认端口号直接访问http://192.168.17.128:8080/xxl-job-admin/jobinfo,就会看到如下界面

八、部署执行器

到官方提供的默认执行器目录下执行命令mvn package


在这里插入图片描述

同样会打出一个执行器的包

把执行器的包同样通过scp命令传输到服务器上,使用命令java -jar 包名进行执行

执行器启动成功后在调度中心的执行器管理里边就可以看到机器地址,就代表已经注册器启动成功了


在这里插入图片描述

九、执行PHP脚本

先新增一个任务


在这里插入图片描述

编辑脚本内容


在这里插入图片描述

在服务器的/usr/local/nginx/html/kaka目录下存在一个php文件,点击保存


在这里插入图片描述

在任务管理里边点击执行一次

在日志里边就可以看到我们PHP文件里边输出的内容


总结

到这里对于xxl-job的安装部署并使用就全部聊完了,通过本文你就可以使用xxl-job来执行你的PHP脚本文件了

下期文章我们再聊在实际项目中如何使用xxl了

坚持学习、坚持写作、坚持分享是咔咔从业以来所秉持的信念。愿文章在偌大的互联网上能给你带来一点帮助,我是咔咔,下期见。

小白都能看懂得Xxl-job安装教程的更多相关文章

  1. 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)

    一,server 端的存储模式为:Server 端 存 储 模 式 (store-mode) 支 持 三 种 : file: ( 默 认 ) 单 机 模 式 , 全 局 事 务 会 话 信 息 内 存 ...

  2. 小白都能看懂的Linux系统下安装配置Zabbix

    实验环境: 操作系统:Centos 7.6 服务器ip:192.168.10.100 运行用户:root 网络环境:Internet Zabbix是一个基于web界面的提供分布式系统监控及网络功能的企 ...

  3. 小白都能看明白的VLAN原理解释

    为什么需要VLAN 1. 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.VLAN ...

  4. Unity 打包发布Android新手教学 (小白都能看懂的教学 ) [转]

    版权声明:本文为Aries原创文章,转载请标明出处.如有不足之处欢迎提出意见或建议,联系QQ531193915 扫码关注微信公众号,获取最新资源 最近在Unity的有些交流群里,发现好多Unity开发 ...

  5. gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程

    什么是插件 Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式. 只要是 Gitbook 默认没有提供的功能,基于插件机制都可以自行扩展,是插件让 Gitbook 变得更加强大 ...

  6. 小白都能看懂的vue中各种通信传值方式,附带详细代码

    1.路由通信传值 路由通信是通过路由跳转用query把参数带过去,也是vue常用的通信手段. 例子: 创建并在路由注册一个组件Head <template> <div id=&quo ...

  7. 大白话Java多线程,小白都能看的懂的哦

    什么是线程 说到线程我们应该先了解下什么是进程,下面这个图片大家应该都比较熟悉吧. 我们看到的这些单独运行的程序就是一个独立的进程,进程之间是相互独立存在的.我们上面图中的360浏览器.百度云盘等等都 ...

  8. 小白都能看懂的Spring源码揭秘之IOC容器源码分析

    目录 前言 IOC 只是一个 Map 集合 IOC 三大核心接口 IOC 初始化三大步骤 定位 加载 注册 总结 前言 在 Spring 框架中,大家耳熟能详的无非就是 IOC,DI,Spring M ...

  9. 小白都能看懂的 Spring 源码揭秘之依赖注入(DI)源码分析

    目录 前言 依赖注入的入口方法 依赖注入流程分析 AbstractBeanFactory#getBean AbstractBeanFactory#doGetBean AbstractAutowireC ...

  10. log4j漏洞的产生原因和解决方案,小白都能看懂!!!!

    核弹级bug Log4j,相信很多人都有所耳闻了,这两天很多读者都在问我关于这个bug的原理等一些问题,今天咱们就专门写一篇文章,一起聊一聊这个核弹级别的bug的产生原理以及怎么防止 产生原因 其实这 ...

随机推荐

  1. echars简单使用

    引入js <script type="text/javascript" src="js/echarts.js" ></script> 记 ...

  2. RabbitMQ消息堆积问题?

    原因: 有时可能因为消费者自身代码问题,导致没办法正常消费消息,那么就会导致消息队列中会堆积大量的消息: 或因为同一时间来了非常多的消息,消费者没办法及时消费,导致消息队列中堆积了大量消息. 解决办法 ...

  3. bzoj 3603

    考虑转化问题:一个点相邻元素中有偶数个$1$等价于一个点与相邻元素异或和为$0$ 于是直接列出异或方程组求解即可 注意由于要求不允许出现全0矩阵,因此如果有自由元直接给成$1$ 贴代码: #inclu ...

  4. jmeter支持发送https请求

    示例网址: https://passport.damai.cn/login 一.Jmeter如何导入SSL证书 步骤1.打开Chrome浏览器访问地址,点击安全锁,导出证书,并复制文件至指定文件目录. ...

  5. Django基础篇 07-Django后端和html交互

    一.上下文管理器 context_processors 执行顺序是 先执行views.py中代码,在views返回之前在走到TEMPLATES.OPTIONS.context_processors的方 ...

  6. ssh 修改端口号 --centos 7

    1 vim /etc/ssh/sshd_config Port   XXXXX #XXXXX 为要修改的端口号,默认是22,直接在新的行添加Port   XXXXX即可. 2 systemctl re ...

  7. 选择 podman 的理由, 以及它和 Kubernetes , Docker 的区别

    转载自https://zhuanlan.zhihu.com/p/506265757 前言 大家好,我是 Liangdi, podman 4.x 版本已经发布了, 我也从 docker 开始向 podm ...

  8. mysql 的小问题

    首先按下win+R 执行 services.msc 进入服务,查找到MySQL,点击停止服务,然后在控制台cmd进入本地的MySQL文件夹,我的文件名是mysql-8.0.26-winx64,进入后执 ...

  9. 12.7 linux学习第十四天

    今天老刘开始讲第10章,主要讲Ahache服务和SELinux安全子系统 10.1 网站服务程序 1970年,作为互联网前身的ARPANET(阿帕网)已初具雏形,并开始向非军用部门开放,许多大学和商业 ...

  10. jsp第8个作业

    public boolean addMail(Msg msg){ Statement st =null; Connection con=null; try{ //获取连接 con = getConne ...