一、前言
我们在开发微信商城小程序或分销商城,都会碰到一个问题,就是要定时去删除一些没支付的订单,或到期的佣金发放,跟到期的自动收货等等操作,需要系统定时计划去执行代码来实现。在Windows 系统,我们可以用到“任务计划程序”或 开发一个js定时程序,让浏览器长期运行,或用Swoole框架的分布式定时任务Swoole Crontab。今天我们要用的是XXL-JOB分布式任务调度平台,是现在比较流行的,已有很多公司接入,想必有它的一定优势。
二、了解XXL-JOB
1.概况
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2.操作方式
Web页面。
3.运行环境
JAVA语言 + mysql数据库。
4.能做什么
在xxl-job分布式任务调度平台里,可以新增定时任务,以时间为单位最小为秒,如每30秒去执行一次定制GLUE(PHP)的程序,还可以查看执行结果跟执行日志,可设置多任务定时执行。
5.详细了解
官网地址 分布式任务调度平台XXL-JOB
三、XXL-JOB 源码安装
1.下载
官网地址 分布式任务调度平台XXL-JOB
2.安装
下载后获得压缩包 xxl-job-master, 解压后文件夹名另命名为xxl-job。
3.导入mysq数据库
需要导入XXL-JOB自带的数据库,数据库路径:xxl-job\doc\db\tables_xxl_job.sql; 可以用Navicat 运行此sql文件。导入后的数据库:
4.运行环境配置
由于XXL-JOB是JAVA语言开发的,所以需要安装JVAV JDK包跟IDEA软件。
四、JAVA JDK下载与安装
1.介绍
JDK 是Java开发工具包。
2.下载
官方地址 Java Downloads | Oracle,请根据自己系统选择下载。本作者使用的版本是jdk-1.8.0_152-windows-x64.exe。
(安装详细教程请传送到 JDK1.8下载、安装和环境配置超详细教程(最新最完整)_java_脚本之家)
3. 验证安装结果
cmd命令 java -version,有返回版本则成功:
五、IDEA下载与安装
1. 介绍
IDEA全称 IntelliJ IDEA,是Java编程语言的集成开发环境。
2. 下载
IntelliJ IDEA官网 IntelliJ IDEA – the Leading Java and Kotlin IDE
3. 安装与破解
在官网上直接下载并按照,安装过程很简单。
六、XXL-JOB 运行与配置
打开IDEA软件进行以下操作:
1. 打开XXL-JOB项目
File --> Open --> xxl-job(项目文件地址)
2. 配置JDK包
a. 新增JDK包
File --> Project Structure --> Platform Settings --> SDKs
选择JDK安装路径:
b. SDK 选择JAVA JDK包
File --> Project Structure --> Project Settings --> Project
3. 配置与运行XXL-JOB平台(xxl-job-admin)
a. 配置
打开xxl-job-admin/src/main/resources下的application.properties配置文件。并设置端口、数据库登录信息:
b. 运行
打开 xxl-job-admin\src\main\java\com下的XxlJobAdminApplication.java运行文件。右击选择Run。
运行成功:Tomcat started on port(s): 8091 (http) with context path '/xxl-job-admin':
c.访问xxl-job平台
浏览器http://127.0.0.1:8091/xxl-job-admin 登录账号admin,密码123456
4. XXL-JOB开启执行器
平台已经自带了一个执行器示例xxl-job-executor-sample,我们就不新建了,开启它进行使用。目前OnLine 机器地址为无,是没有配置的,需我们去配置并启动它。
a.配置示例执行器
用IDEA打开application.properties配置文件,路径:
xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\resources
并设置端口,端口不能跟xxl-job-admin的端口重复,在这里我们设置8092。
b.运行示例执行器
打开XxlJobExecutorApplication.java 运行文件。右击Run。路径如下:
xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com
运行成功:Tomcat started on port(s): 8092 (http) with context path ''
c.运行情况
执行器管理多了个Online机器地址。此时配置完成,可以进行任务管理操作。
六、XXL-JOB 新增GLUE(PHP)任务与执行
1.新增
任务管理-->新增。运行模式选择GLUE(PHP), 执行时间是每20秒执行一次。
2.GLUE IDE 编辑执行代码
去请求外部链接或api地址。
<?php
$url = "http://192.168.31.53/api/wxxcx/systemplan_delnotpayorder.php";
$result = file_get_contents($url);
var_dump($result);
exit(0);
?>
3.执行
执行一次试试看。
八、XXL-JOB查看执行日志
执行成功,api并反馈json信息
九、总结
xxl-job 执行在GLUE(PHP) 任务出现失败并报错:xxl-job java.io.IOException: Cannot run program "php": CreateProcess error=2 报错,主要是因为本地系统的环境变量缺少了php,需手动添加环境变量。具体操作请传送至:xxl-job GLUE(PHP) 执行报错问题-CSDN博客