前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-XXL-JOB调度中心/执行器 RESTful API

快速学习-XXL-JOB调度中心/执行器 RESTful API

作者头像
cwl_java
发布2020-09-24 15:43:43
5K0
发布2020-09-24 15:43:43
举报
文章被收录于专栏:cwl_Java

六、调度中心/执行器 RESTful API

XXL-JOB 目标是一种跨平台、跨语言的任务调度规范和协议。

针对Java应用,可以直接通过官方提供的调度中心与执行器,方便快速的接入和使用调度中心,可以参考上文 “快速入门” 章节。

针对非Java应用,可借助 XXL-JOB 的标准 RESTful API 方便的实现多语言支持。

  • 调度中心 RESTful API:
    • 说明:调度中心提供给执行器使用的API;不局限于官方执行器使用,第三方可使用该API来实现执行器;
    • API列表:执行器注册、任务结果回调等;
  • 执行器 RESTful API :
    • 说明:执行器提供给调度中心使用的API;官方执行器默认已实现,第三方执行器需要实现并对接提供给调度中心;
    • API列表:任务触发、任务终止、任务日志查询……等;

此处 RESTful API 主要用于非Java语言定制个性化执行器使用,实现跨语言。除此之外,如果有需要通过API操作调度中心,可以个性化扩展 “调度中心 RESTful API” 并使用。

6.1 调度中心 RESTful API

API服务位置:com.xxl.job.core.biz.AdminBiz ( com.xxl.job.admin.controller.JobApiController ) API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest

a、任务回调
代码语言:javascript
复制
说明:执行器执行完任务后,回调任务结果时使用

------

地址格式:{调度中心跟地址}/callback

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    [{
        "logId":1,              // 本次调度日志ID
        "logDateTim":0,         // 本次调度日志时间
        "executeResult":{
            "code": 200,        // 200 表示任务执行正常,500表示失败
            "msg": null
        }
    }]

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null      // 错误提示消息
    }
b、执行器注册
代码语言:javascript
复制
说明:执行器注册时使用,调度中心会实时感知注册成功的执行器并发起任务调度

------

地址格式:{调度中心跟地址}/registry

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "registryGroup":"EXECUTOR",                     // 固定值
        "registryKey":"xxl-job-executor-example",       // 执行器AppName
        "registryValue":"http://127.0.0.1:9999/"        // 执行器地址,内置服务跟地址
    }

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null      // 错误提示消息
    }
c、执行器注册摘除
代码语言:javascript
复制
说明:执行器注册摘除时使用,注册摘除后的执行器不参与任务调度与执行

------

地址格式:{调度中心跟地址}/registryRemove

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "registryGroup":"EXECUTOR",                     // 固定值
        "registryKey":"xxl-job-executor-example",       // 执行器AppName
        "registryValue":"http://127.0.0.1:9999/"        // 执行器地址,内置服务跟地址
    }

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null      // 错误提示消息
    }

6.2 执行器 RESTful API

API服务位置:com.xxl.job.core.biz.ExecutorBiz API服务请求参考代码:com.xxl.job.executorbiz.ExecutorBizTest

a、心跳检测
代码语言:javascript
复制
说明:调度中心检测执行器是否在线时使用

------

地址格式:{执行器内嵌服务跟地址}/beat

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null       // 错误提示消息
    }
b、忙碌检测
代码语言:javascript
复制
说明:调度中心检测指定执行器上指定任务是否忙碌(运行中)时使用

------

地址格式:{执行器内嵌服务跟地址}/idleBeat

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "jobId":1       // 任务ID
    }

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null       // 错误提示消息
    }
c、触发任务
代码语言:javascript
复制
说明:触发任务执行

------

地址格式:{执行器内嵌服务跟地址}/run

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "jobId":1,                                  // 任务ID
        "executorHandler":"demoJobHandler",         // 任务标识
        "executorParams":"demoJobHandler",          // 任务参数
        "executorBlockStrategy":"COVER_EARLY",      // 任务阻塞策略,可选值参考 com.xxl.job.core.enums.ExecutorBlockStrategyEnum
        "executorTimeout":0,                        // 任务超时时间,单位秒,大于零时生效
        "logId":1,                                  // 本次调度日志ID
        "logDateTime":1586629003729,                // 本次调度日志时间
        "glueType":"BEAN",                          // 任务模式,可选值参考 com.xxl.job.core.glue.GlueTypeEnum
        "glueSource":"xxx",                         // GLUE脚本代码
        "glueUpdatetime":1586629003727,             // GLUE脚本更新时间,用于判定脚本是否变更以及是否需要刷新
        "broadcastIndex":0,                         // 分片参数:当前分片
        "broadcastTotal":0                          // 分片参数:总分片
    }

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null       // 错误提示消息
    }
f、终止任务
代码语言:javascript
复制
说明:终止任务

------

地址格式:{执行器内嵌服务跟地址}/kill

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "jobId":1       // 任务ID
    }
    

响应数据格式:
    {
      "code": 200,      // 200 表示正常、其他失败
      "msg": null       // 错误提示消息
    }
d、查看执行日志
代码语言:javascript
复制
说明:终止任务,滚动方式加载

------

地址格式:{执行器内嵌服务跟地址}/log

Header:
    XXL-JOB-ACCESS-TOKEN : {请求令牌}
 
请求数据格式如下,放置在 RequestBody 中,JSON格式:
    {
        "logDateTim":0,     // 本次调度日志时间
        "logId":0,          // 本次调度日志ID
        "fromLineNum":0     // 日志开始行号,滚动加载日志
    }

响应数据格式:
    {
        "code":200,         // 200 表示正常、其他失败
        "msg": null         // 错误提示消息
        "content":{
            "fromLineNum":0,        // 本次请求,日志开始行数
            "toLineNum":100,        // 本次请求,日志结束行号
            "logContent":"xxx",     // 本次请求日志内容
            "isEnd":true            // 日志是否全部加载完
        }
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 六、调度中心/执行器 RESTful API
    • 6.1 调度中心 RESTful API
      • a、任务回调
      • b、执行器注册
      • c、执行器注册摘除
    • 6.2 执行器 RESTful API
      • a、心跳检测
      • b、忙碌检测
      • c、触发任务
      • f、终止任务
      • d、查看执行日志
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档