Open-Authority

一个企业级开源分布式任务调度系统,定时调度基于时间轮算法实现,调度中心与执行器通信支持 Grpc,同时支持 Netty,执行器支持集群部署,任务分片执行,任务支持监控报警能力。

服务器 API

服务器端 API 是由 Open-Job 后端提供的一系列 HTTP(s)接口,用于业务系统和管理后台对接。比如管理员登录、创建任务、执行任务等。

登录相关

获取验证码

简要描述

根据参数不同可支持获取图片验证码,短信验证码,

请求 URL

请求方式

  • POST

请求示例

{
  "type": "image",
  "deviceId": "80c71a92-a2e6-4320-3bbe-38cfd6b19ab4"
}

请求参数

参数名类型必选说明
typestring验证码类型,可选值:sms,image,scan
mobilestring当 type 为 sms 的时候需要传入该字段
deviceIdstring客户端会话唯一标识

返回示例

图片二进制流或短信验证码

返回参数

图片二进制流或短信验证码

账号密码登录获取 Token

简要描述

用户使用账号密码登录管理系统并获取 token,使用 token 便可以拿到用户信息

请求 URL

请求方式

  • POST

请求示例

{
  "username": "admin",
  "password": "123456",
  "captcha": "5694",
  "deviceId": "80c71a92-a2e6-4320-3bbe-38cfd6b19ab4"
}

请求参数

参数名类型必选说明
usernamestring用户的登录账号
passwordstring用户的登录密码
captchastring图片验证码
deviceIdstring客户端会话唯一标识

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": {
    "accessToken": "baoj1xit1ajymp0jzyoz0nkm08778so8",
    "expiredTime": "1647767386251"
  },
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
accessTokenstringtoken
expiredTimestringtoken 过期时间戳(秒)
successboolean是否成功

手机号短信验证码登录获取 Token

简要描述

用户使用手机号短信验证码登录管理系统并获取 token,使用 token 便可以拿到用户信息

请求 URL

请求方式

  • POST

请求示例

{
  "mobile": "12345678901",
  "captcha": "5694",
  "deviceId": "80c71a92-a2e6-4320-3bbe-38cfd6b19ab4"
}

请求参数

参数名类型必选说明
mobilestring手机号
captchastring短信验证码
deviceIdstring客户端会话唯一标识

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": {
    "accessToken": "baoj1xit1ajymp0jzyoz0nkm08778so8",
    "expiredTime": "1647767386251"
  },
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
accessTokenstringtoken
expiredTimestringtoken 过期时间戳(秒)
successboolean是否成功

用 Token 换取用户信息

简要描述

使用 token 换取用户信息

请求 URL

请求方式

  • GET

请求示例

请求头需要添加 Authorization,值就是 Bearer + 空格 + token

Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxx

请求参数

请求头需要添加 Authorization,值就是 Bearer + 空格 + token

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": {
    "id": "1",
    "username": "lijunping",
    "password": "$2a$10$3oNlO/vvXV3FPsmimv0x3ePTcwpe/E1xl86TDC0iLKwukWkJoRIyK",
    "phone": "12345678901",
    "status": 1,
    "createTime": "2021-06-24 15:53:16",
    "updateTime": "2021-06-24 15:53:19"
  },
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
idint用户唯一标识
usernamestring用户名
passwordstring密码
phonestring用户名
statusint用户状态 1 未锁定,0 锁定
createTimedate创建时间
updateTimedate更新时间
successboolean是否成功

任务相关

获取任务列表

简要描述

获取任务列表,支持通过任务名称,Handler 名称,任务状态,任务创建时间进行筛选

请求 URL

请求方式

  • GET

请求示例

{
  "current": 1,
  "pageSize": 20
}

请求参数

参数名类型必选说明
jobNamestring任务名称
handlerNamestringhandler 名称
statusint任务状态,1 启动,0 停止
beginTimedate开始时间,根据任务创建时间进行筛选
endTimedate结束时间,根据任务创建时间进行筛选
currentint当前页,不传默认为 1
pageSizeint每页条数,不传默认为 10

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": {
    "records": [
      {
        "id": "1",
        "jobName": "测试任务",
        "handlerName": "job-one",
        "cronExpression": "0/5 * * * * ? *",
        "params": null,
        "status": 0,
        "createTime": "2021-09-29 16:51:32",
        "updateTime": "2021-09-29 16:51:35",
        "createUser": "1",
        "updateUser": "1"
      }
    ],
    "total": "1",
    "current": "1",
    "pages": "1",
    "hasPrevious": false,
    "hasNext": false
  },
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
idint任务唯一标识
jobNamestring任务名称
handlerNamestring任务 Handler 名称
cronExpressionstringcron 表达式
paramsstring任务参数,json 格式
statusint任务状态,1 运行中,0 停止中
createTimedate创建时间
updateTimedate更新时间
createUserint创建人
updateUserint更新人
totalint总共有多少条记录
currentint当前第多少页
pagesint共多少页
hasPreviousboolean是否有上一页
hasNextboolean是否有下一页
successboolean是否成功

创建新任务

简要描述

创建新任务

请求 URL

请求方式

  • POST

请求示例

{
  "jobName": "测试任务",
  "handlerName": "handler-one",
  "cronExpression": "0 0 0/5 * * ? *",
  "params": ""
}

请求参数

参数名类型必选说明
jobNamestring任务名称
handlerNamestringhandler 名称
cronExpressionstringcron 表达式
paramsstring任务执行参数

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功

修改任务

简要描述

更新任务的某些值

请求 URL

请求方式

  • PUT

请求示例

{
  "jobName": "测试任务",
  "handlerName": "handler-one",
  "cronExpression": "0 0 0/5 * * ? *",
  "params": ""
}

请求参数

参数名类型必选说明
jobNamestring任务名称
handlerNamestringhandler 名称
cronExpressionstringcron 表达式
paramsstring任务执行参数

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功

启动定时任务

简要描述

启动定时任务

请求 URL

请求方式

  • PUT

请求示例

{
  "id": 1
}

请求参数

参数名类型必选说明
idint任务 id

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功

停止定时任务

简要描述

停止定时任务

请求 URL

请求方式

  • PUT

请求示例

{
  "id": 1
}

请求参数

参数名类型必选说明
idint任务 id

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功

执行任务

简要描述

执行任务一次

请求 URL

请求方式

  • PUT

请求示例

{
  "id": 1
}

请求参数

参数名类型必选说明
idint任务 id

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功

获取 Cron 表达式下次执行时间

简要描述

获取 Cron 表达式下次执行时间

请求 URL

请求方式

  • GET

请求示例

{
  "cronExpress": "0 0 0/5 * * ? *"
}

请求参数

参数名类型必选说明
cronExpressstringcron 表达式

返回示例

{
  "code": 200,
  "msg": "成功",
  "data": true,
  "success": true
}

返回参数

参数名类型说明
codeint200 成功,非 200 失败
msgstring错误信息
databoolean操作是否成功
successboolean是否成功