PHP XXL-JOB 分布式定时任务执行

一、前言

我们在开发微信商城小程序或分销商城,都会碰到一个问题,就是要定时去删除一些没支付的订单,或到期的佣金发放,跟到期的自动收货等等操作,需要系统定时计划去执行代码来实现。在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博客

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值