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

一、背景

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

  • 某个时间点发送优惠券
  • 发送短信等等。
  • 批量处理数据:批量统计上个月的账单,统计上个月销售数据等等。
  • 固定频率的场景:每隔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. java统计一个文本文件英文单词

    package test;import java.io.*;import java.util.*;public class wordCount2 { public static void main(S ...

  2. 高性能的StampedLock锁

    StampedLock 支持的三种锁模式: 1.ReadWriteLock 支持两种模式:一种是读锁,一种是写锁 2.StampedLock 支持三种模式,分别是:写锁.悲观读锁和乐观读 1)写锁.悲 ...

  3. LeetCode系列之 (JavaScript) => 53. 最大子数组和

    题目描述: leetcode 题目链接: 53. 最大子数组和 - 力扣(LeetCode) (leetcode-cn.com) 解题思路分析: 题干最终的输出是连续子数组的最大和:1. 贪心算法: ...

  4. RStudio中有常用的快捷键

    1.常用快捷键 转自:https://blog.csdn.net/swuteresa/article/details/8649067 2.RStudio中如何撤销上一步操作: 一般运行过的程序都会在H ...

  5. ssh连接不上、Xshell意外关闭Socket error Event: 32 Error: 10053.

    Xshell意外关闭可能会出现这种问题,如遇如下错误可解决: Connecting to 47.106.80.28:22- Connection established. To escape to l ...

  6. Mybatis框架中 collection 标签 和 association标签中关于 columnPrefix 属性的底层逻辑

    columnPrefix的作用是给column自动拼接上前缀, 已知多重嵌套的collection 和 association的columnPrefix属性的值是会叠加的 <associatio ...

  7. 【JSON】Python读取JSON文件报错json.decoder.JSONDecodeError的问题

    报错 json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line * column * ...

  8. 基于docker搭建Jenkins+git+python+allure

    实现方式 docker+jenkins+python 执行自动化框架,生成allure报告 1.服务器上安装docker(略) 2.创建jenkins容器 3.使用Dockerfile创建有接口自动化 ...

  9. #科技 #资讯 #生活 微信测试更多图片打开方式,神州圆满发射,英伟达或停产性价比神卡,SAMSUNG新一代显存带宽容量双翻倍,这就是今天的其它大新闻

    今天是2022年12月01日 十一月初八 现在是中午12:10 下面是今天的其他大新闻 #NEWS 1 # 微信测试用不同小程序打开图片:快捷调用小程序打开图片.视频.文件 ( 新浪科技 ) 据悉,微 ...

  10. Linux deploy 32位系统 怎么安装宝塔怎么安装linux系统安装宝塔后搭建网站

    getconf LONG_BIT 获取当前linux系统位数