需要PHP7.4+、MySQL和 Redis。
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": ""
}