Skip to content

Latest commit

 

History

History
163 lines (119 loc) · 3.68 KB

API.md

File metadata and controls

163 lines (119 loc) · 3.68 KB

系统环境

需要PHP7.4+、MySQL和 Redis。

接口鉴权

接口地址

urlhttp://www.api.com

头部信息

signature不参与签名

参数名 类型 是否必填 默认值 说明
app_key string - APP KEY
nonce_str string - 随机字符串
timestamp string - 当前时间:2021-03-04 11:42:36
signature string - 签名信息
version string 1.0 版本号(固定值)

签名算法

提交内容和头部信息按A-Z进行排序,组成签名字符串+分配的密码,然后使用MD5加密获取签名字符串。

接口说明

系统将使用POST方法将数据{data:xxxx}提交到接口地址,接口返回success字符串表示执行成功,其它内容GoodJob会执行重试操作!在提交数据的同时系统会使用下面接口鉴权的方法提交头部信息,以便于接入端校验请求是否来源于GoodJob。。

创建应用

uri:/application

接口参数

参数名 类型 是否必填 默认值 说明
appName string - 任务名称
linkUrl string - 接口地址
step int - 重试间隔。最大值为3600
retryTotal int - 重试次数。最大值为10
remark string 当前时间 任务描述

任务重试时间分别为执行结束后的5秒 10秒 15秒,最大值3600。

返回结果

{
    "code": 200,
    "data": {
        "appKey": "5347838620634821",
        "secretKey": "vph1291T6Q6ZK262p2z611922tKBpUj6"
    },
    "message": ""
}

投递任务

uri:/task/create

接口参数

参数名 类型 是否必填 默认值 说明
taskNo string - 任务编号
runtime int - 执行时间,示例 2021-03-05 12:00:00
content string - 任务内容(JSON 字符串)

返回结果

{
    "code": 200,
    "data": {
        "taskId": "04479d0a8ec8a5784cfededf7de970c5"
    },
    "message": ""
}

你可以使用taskId查询任务执行结果!

取消任务

uri:/task/abort

接口参数

参数名 类型 是否必填 默认值 说明
taskId int - 任务ID

程序会尽量拦截任务,不保证拦截成功率(越早拦截成功率越高)!

返回结果

{
    "code": 200,
    "data": {},
    "message": ""
}

任务重试

uri:/task/retry

接口参数

参数名 类型 是否必填 默认值 说明
taskId int - 任务ID

返回结果

{
    "code": 200,
    "data": {},
    "message": ""
}

任务详情

uri:/task/detail

接口参数

参数名 类型 是否必填 默认值 说明
taskId int - 任务ID

返回结果

{
    "code": 200,
    "data": {
        "taskId": "c0e539dd52d38a052fec7b96715a0ae7",
        "taskNo": "a6",
        "status": 2,
        "step": 10,
        "runtime": 1601255400,
        "content": "haha",
        "createdAt": 1601257976,
        "updatedAt": 1601257978,
        "logs": [
            {
                "retry": 1,
                "remark": "API接口异常,数据请求失败!",
                "createdAt": 1601257978,
                "updatedAt": 0
            }
        ]
    },
    "message": ""
}