php项目接入xxl-job调度系统的示例详解

目录
  • 1. 部署xxl-job调度中心
  • 2. 整合xxl-job调度系统
    • 2.1 创建执行器项目
    • 2.2 新增执行器
    •  2.3 部署执行器项目
    • 2.4 新增GLUE模式任务
    • 2.5 编写php代码片段

1. 部署xxl-job调度中心

此处略,请自行百度。下面重点介绍如何将php项目接入xxl-job调度。

2. 整合xxl-job调度系统

核心是使用xxl-job的GLUE运行模式,通过一段php代码片段,调用远程的http资源。

2.1 创建执行器项目

参考执行器示例项目, xxl-job-executor-samples/xxl-job-executor-sample-springboot,修改下其中的 application.properties 文件,内容如下:

# 执行器项目使用的端口号
server.port=8585
# no web
#spring.main.web-environment=false

# log config
logging.config=classpath:logback.xml

### 调度中心地址
xxl.job.admin.addresses=http://127.0.0.1:8081/job-admin

### xxl-job, access token
xxl.job.accessToken=

### xxl-job executor appname
xxl.job.executor.appname=xxl-job-executor-base
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### xxl-job executor server-info
xxl.job.executor.ip=127.0.0.1
xxl.job.executor.port=9999
### xxl-job executor log-path
xxl.job.executor.logpath=xxl-job-log
### xxl-job executor log-retention-days
xxl.job.executor.logretentiondays=30

2.2 新增执行器

在调度中心的管理界面,新增一个执行器,执行器的相关信息必须与【2.1】步骤中的配置保持一致,如下:

 注意:此处的机器地址,在新版中必须带上协议名称,如:http。

 2.3 部署执行器项目

将编译好的 xxl-job-executor-sample-springboot-2.2.1-SNAPSHOT.jar 包,复制到php项目所在的机器上,并启动。启动命令为:

java -jar -Dfile.encoding=utf-8 "xxl-job-executor-sample-springboot-2.2.1-SNAPSHOT.jar"

2.4 新增GLUE模式任务

 执行器选择【2.2】步骤中新建的执行器即可,运行模式选择【GLUE(PHP)】。

2.5 编写php代码片段

在任务列表中,找到之前新建的GLUE任务,然后在对应的操作栏中,选择【GLUE IDE】菜单,进入xxl-job内置的web编辑器,即可编写与业务相关的php代码。

 示例内容如下:

<?php
    $url = 'https://www.baidu.com/';
	$result = file_get_contents($url);
	var_dump($result);
	exit(0);
?>

 注意:

① 脚本任务通过 Exit Code 判断任务执行结果,0 成功,-1(非0状态码)失败。

② 调度过程中,将会在 gluesource 目录(位于日志根目录下)下,生成一个临时的php文件,文件内容即为步骤【2.5】中编写的代码片段。

到此这篇关于php项目接入xxl-job调度系统的文章就介绍到这了,更多相关php项目接入xxl-job内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • php项目接入xxl-job调度系统的示例详解

    目录 1. 部署xxl-job调度中心 2. 整合xxl-job调度系统 2.1 创建执行器项目 2.2 新增执行器  2.3 部署执行器项目 2.4 新增GLUE模式任务 2.5 编写php代码片段 1. 部署xxl-job调度中心 此处略,请自行百度.下面重点介绍如何将php项目接入xxl-job调度. 2. 整合xxl-job调度系统 核心是使用xxl-job的GLUE运行模式,通过一段php代码片段,调用远程的http资源. 2.1 创建执行器项目 参考执行器示例项目, xxl-job-

  • Springboot Vue可配置调度任务实现示例详解

    目录 正文 1.表结构: 2.接口: 3.业务层: 4.Mapper 5.前端(Vue): 正文 Springboot + Vue,定时任务调度的全套实现方案. 这里用了quartz这个框架,实现分布式调度任务很不错,关于quarz的使用方式改天补一篇.相当简单. 1.表结构: sys_job 列名 数据类型 长度 是否可空 是否主键 说明 job_id bigint 否 是 任务ID job_name varchar 64 否 是 任务名称 job_group varchar 64 否 是 任

  • 图解 Kotlin SharedFlow 缓存系统及示例详解

    目录 前言 replay extraBufferCapacity onBufferOverflow SharedFlow Buffer 前言 Kotlin 为我们提供了两种创建“热流”的工具:StateFlow 和 SharedFlow.StateFlow 经常被用来替代 LiveData 充当架构组件使用,所以大家相对熟悉.其实 StateFlow 只是 SharedFlow 的一种特化形式,SharedFlow 的功能更强大.使用场景更多,这得益于其自带的缓存系统,本文用图解的方式,带大家更

  • vue项目网站全局置灰功能实现示例详解

    目录 1.前端独立实现 2.通过后台管理控制设置网站的整体置灰样式 1.前端独立实现 两种不同的逻辑,一种是前端自己实现,一种是结合后台管理系统来控制,网站是正常还是置灰. 直接在public文件夹下的index.html文件的html标签里加上style="filter:grayscale(100%)",总的就是<html style="filter:grayscale(100%)"> 2.通过后台管理控制设置网站的整体置灰样式 1.先给public文

  • React项目使用ES6解决方案及JSX使用示例详解

    目录 不使用 ES6 绑定 JSX如何? 不使用 ES6 然而,在纯浏览器端使用ES6语法时,浏览器支持存在差异,这需要特殊处理才能正常运行. 支持ES2015桌面浏览器 Chrome:从51版开始,它可以支持ES6 97%的新功能. Firefox:53版本支持97%的ES6新功能. Safari:从版本10开始,ES6 99%的新功能都可以得到支持. IE:Edge 15可以支持96%的ES6新功能. Edge 14可以支持93%的新ES6功能.(IE7~11基本不支持ES6) class

  • linux获取系统启动时间示例详解

    1.前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同.linux内核里面用一个名为jiffes的常量来计算时间戳.应用层有time.getdaytime等函数.今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间. 2.sysinfo结构 sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间.共享内存空间.进程的数目等.man sysinfo得到结果如下所示: 复制代码 代码如下:

  • vue3项目新用户引导组件driver.js示例详解

    好用的用户引导插件有 intro.js 和 driver.js 两个,对比了一下,最终还是使用了driver.js主要有以下原因: 用法简单 可以商用 总要选一个吧 项目使用的是vue3+ts因为多个地方需要使用引导,就直接做成组件使用不废话上代码 yarn add driver.js 或者 npm i driver.js 组件代码 <!-- * @Description: 新用户引导组件 * @LastEditTime: 2022-08-19 11:43:25 --> <templat

  • Vue项目接入Paypal实现示例详解

    一.支付流程 在paypal的官网上给出了这个按钮内部封装的流程,整个流程只需要用户点击按钮,触发创建订单事件,然后我们再监听用户支付成功的回调,拿到订单id传给后端,让后端再进行一次校验. 二.实现方案 接入方式 优点 缺点 相关资料 在html中插入paypal的script脚本 实现方式比较简单 1.安全性问题:公司的client_id会暴露在代码中 2.引用的按钮样式比较难自定义 官方文档:https://developer.paypal.com/docs/checkout/integr

  • Android系统对话框使用详解(最详细)

    在实际应用开发中,用到系统对话框中的情况几乎是没有的.按开发流程来说,UI工程师都会给出每一个弹窗的样式,故而在实际开发中都是自定义弹窗的. 即使用到的地方不多,但是我们也是需要了解并且能熟练的运用它,下面为大家奉上各种系统对话框的实现. 目录 一.系统对话框的几种类型与实现 在项目的实际开发中,用到的系统对话框几乎是没有的.原因大概包含以下几点: 样式过于单一,不能满足大部分实际项目中的需求. 对话框的样式会根据手机系统版本的不同而变化.不能达到统一的样式. 能实现的功能过于简单. 在这里先附

  • 使用Go基于WebSocket构建千万级视频直播弹幕系统的代码详解

    (1)业务复杂度介绍 开门见山,假设一个直播间同时500W人在线,那么1秒钟1000条弹幕,那么弹幕系统的推送频率就是: 500W * 1000条/秒=50亿条/秒 ,想想B站2019跨年晚会那次弹幕系统得是多么的NB,况且一个大型网站不可能只有一个直播间! 使用Go做WebSocket开发无非就是三种情况: 使用Go原生自带的库,也就是 golang.org/x/net ,但是这个官方库真是出了奇Bug多 使用GitHub大佬 gorilla/websocket 库,可以结合到某些Web开发框

随机推荐