当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-19 09:55:52 浏览: 评论:0 

这篇文章主要介绍了php项目接入xxl-job调度系统的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。

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 文件,内容如下:

  1. # 执行器项目使用的端口号 
  2. server.port=8585 
  3. # no web 
  4. #spring.main.web-environment=false 
  5.    
  6. # log config 
  7. logging.config=classpath:logback.xml 
  8.    
  9. ### 调度中心地址 
  10. xxl.job.admin.addresses=http://127.0.0.1:8081/job-admin 
  11.    
  12. ### xxl-job, access token 
  13. xxl.job.accessToken= 
  14.    
  15. ### xxl-job executor appname 
  16. xxl.job.executor.appname=xxl-job-executor-base 
  17. ### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null 
  18. xxl.job.executor.address= 
  19. ### xxl-job executor server-info 
  20. xxl.job.executor.ip=127.0.0.1 
  21. xxl.job.executor.port=9999 
  22. ### xxl-job executor log-path 
  23. xxl.job.executor.logpath=xxl-job-log 
  24. ### xxl-job executor log-retention-days 
  25. xxl.job.executor.logretentiondays=30 

2.2 新增执行器

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

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

注意:此处的机器地址,在新版中必须带上协议名称,如: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模式任务

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

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

2.5 编写php代码片段

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

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

示例内容如下:

  1. <?php 
  2.     $url = 'https://www.baidu.com/'
  3.     $result = file_get_contents($url); 
  4.     var_dump($result); 
  5.     exit(0); 
  6. ?> 

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

注意:

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

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

Tags: xxl-job

分享到: