历史版本36 :定时任务相关接口介绍 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文介绍 FineDataLink 提供的可被简道云、FR、外部系统调用的定时任务相关接口。

注1:接口调用说明请参见:调用定时任务相关接口说明;FR中调用接口示例请参见:FR模板调用定时任务接口示例

注2:本文接口适用于 4.0.29 及以上版本。

2. 接口介绍编辑

注1:实例ID即为运行记录ID,运行记录ID在「任务运维>定时任务>运行记录」中查看。

注2:所有接口调用时,都需要进行接口认证的,否则会提示鉴权失败;本文接口示例认证使用的是开放平台认证模式」,接口认证方式请参见:接口认证模式说明

2.1 根据任务ID查询实例列表

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/records

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

Content-Type:application/json

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)body 请求参数:

请求类型:raw_json

{
"workId": "e10f1f1a-d567-4058-98bb-b71204154f8b", 
"latest": false, //【非必填】仅查询最近一次:是、否  /*不填则为否*/
"startTime": "", //【非必填】开始时间  /*不填则为无限*/
"finishTime": "", //【非必填】结束时间  /*不填则为无限*/
"taskStatus": "SUCCESS", //【非必填】运行状态:成功、失败、中断、运行中  /*不填则返回所有*/ 枚举值: INITIAL  SUCCESS  FAIL  RUNNING  DUPLICATE  INVALID  ERROR  INTERRUPT
"triggerMethod": "MANUAL" //【非必填】触发方式:手动、定时  /*不填则返回所有*/ 枚举:MANUAL   FIX_TIME
}
参数名
参数值是否必填参数类型描述说明
workIde10f1f1a-d567-4058-98bb-b71204154f8bString定时任务ID
latestfalseBoolean【非必填】仅查询最近一次:是、否,不填则为否
startTime
String【非必填】开始时间 ,不填则为无限
finishTime
String【非必填】结束时间,不填则为无限
taskStatus
String【非必填】运行状态:成功、失败、中断、运行中,不填则返回所有,枚举值: INITIAL SUCCESS FAIL RUNNING DUPLICATE INVALID ERROR INTERRUPT
triggerMethodMANUALString【非必填】触发方式:手动、定时,不填则返回所有,枚举:MANUAL FIX_TIME

响应示例:

成功

{
"status": 200,
"data": {
"executeIds": [
"7d5a4b14-f0de-47b8-91ad-a8777b76236c",
"0d20a589-e66f-4b47-8256-e40e0252eea2",
"24c6d78a-2d4f-40b5-b9fb-08eef1133612",
"9fa0d375-89f4-425f-8e39-0c6de623637a",
]
}
}
参数名
参数值参数类型描述说明
status200Integer
data
Object
data.executeIds7d5a4b14-f0de-47b8-91ad-a8777b76236cArray

实例ID列表

实例ID即为运行记录ID

2.2 根据任务名查询实例列表

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/records

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

Content-Type:application/json

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)body请求参数:

请求类型:raw_json

{
"workName": "fdlDemo", //【必填】任务名称
"latest": true, //【非必填】仅查询最近一次:是、否  /*不填则为否*/
"startTime": "", //【非必填】开始时间  /*不填则为无限*/
"finishTime": "", //【非必填】结束时间  /*不填则为无限*/
"taskStatus": "SUCCESS", //【非必填】运行状态:成功、失败、中断、运行中  /*不填则返回所有*/ 枚举值: INITIAL  SUCCESS  FAIL  RUNNING  DUPLICATE  INVALID  ERROR  INTERRUPT
"triggerMethod": "FIX_TIME" //【非必填】触发方式:手动、定时  /*不填则返回所有*/ 枚举:MANUAL   FIX_TIME
}
参数名
参数值是否必填参数类型描述说明
workNamefdlDemoString【必填】任务名称
latesttrueBoolean【非必填】仅查询最近一次:是、否,不填则为否
startTime
String【非必填】开始时间,不填则为无限
finishTime
String【非必填】结束时间,不填则为无限
taskStatusSUCCESSString【非必填】运行状态:成功、失败、中断、运行中,不填则返回所有,枚举值: INITIAL SUCCESS FAIL RUNNING DUPLICATE INVALID ERROR INTERRUPT
triggerMethodFIX_TIMEString【非必填】触发方式:手动、定时,不填则返回所有,枚举:MANUAL FIX_TIME

响应示例:

1)成功

注:无查询结果时返回空值。

{
"status": 200,
"data": {
"executeIds": [
"40fc80c6-ac03-4943-b6d7-e79ff5cca581"
]
}
}
参数名
参数值参数类型描述说明
status200Integer
data
Object
data.executeIds40fc80c6-ac03-4943-b6d7-e79ff5cca581Array实例ID列表

2)失败

{
"status": 200,
"errorCode": "E8130031",
"errorMsg": "任务不存在,无法获取文件"
}
参数名
参数值参数类型描述说明
status200Integer
errorCodeE8130031String
errorMsg任务不存在,无法获取文件String

2.3 根据实例ID查询实例信息

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/record/info?recordId=

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

请求类型:GET

请求参数:

Query 请求参数:

参数名
参数值是否必填
参数类型描述说明
recordId16f7f568-767f-4786-bb2c-5dbc64cfbcadString-
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

响应示例:

1)成功:

{
"status": 200, //【非必填】运行状态:成功、失败、中断、运行中  /*不填则返回所有*/
"data": {
"recordId": "16f7f568-767f-4786-bb2c-5dbc64cfbcad", //实例ID
"taskId": "868478d9-a36d-481f-b42d-6074310c2829", //任务ID
"taskName": "fdlDemo", //任务名称
"taskPath": "任务列表/一级目录/fdlDemo", //任务目录
"status": "INTERRUPT", //实例运行状态
"startTime": 1690786927020, //实例运行开始时间
"finishTime": 1690786944299, //实例运行结束时间
"triggerMethod": "MANUAL", //实例触发方式
"triggerBy": "root" //实例触发人
}
}
参数名
参数值参数类型描述说明
status200Integer【非必填】运行状态:成功、失败、中断、运行中,不填则返回所有
data
Object
data.recordId16f7f568-767f-4786-bb2c-5dbc64cfbcadString

实例ID

实例ID即为运行记录ID

data.taskId868478d9-a36d-481f-b42d-6074310c2829String任务ID
data.taskNamefdlDemoString任务名称
data.taskPath任务列表/一级目录/fdlDemoString任务目录
data.statusINTERRUPTString实例运行状态
data.startTime1690786927020Integer实例运行开始时间
data.finishTime1690786944299Integer实例运行结束时间
data.triggerMethodMANUALString实例触发方式
data.triggerByrootString实例触发人

2)失败

{
"status": 200,
"errorCode": "E8130012",
"errorMsg": "can not find record by recordId"
}
参数名
参数值参数类型描述说明
status200Integer
errorCodeE8130011String
errorMsgcan not find record by recordIdString

3)无权限

{
"status": 200,
"errorCode": "E8130011",
"errorMsg": "用户没有权限"
}
参数名
参数值是否必填参数类型描述说明
status200Integer
errorCodeE8130011String
errorMsg用户没有权限String

2.4 基于任务ID运行任务

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/execute

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

Content-Type:application/json

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)body请求参数:

请求类型:raw_json

{
    "workId": "e10f1f1a-d567-4058-98bb-b71204154f8b",
    "params": {
        "paramName": "paramValue"
    },
    "waitForResponse": false,
    "waitTime": 10000
}

若 Body 内非必填字段为空,Body 格式为:

{
    "workId": "e10f1f1a-d567-4058-98bb-b71204154f8b",
    "params": {}
}
参数名
参数值是否必填参数类型描述说明
workIde10f1f1a-d567-4058-98bb-b71204154f8bString【必填】任务ID
params
Object

【非必填】执行参数

可向定时任务传递参数,具体可参见:FR模板调用定时任务并传参

params.paramNameparamValueString【非必填】执行参数
waitForResponsetrueString【非必填】等待任务运行完成再返回内容,是、否 ,不填则为否,为否时直接返回实例ID或请求的结果,不返回运行结果
waitTime10000String【非必填】等待时间 单位毫秒 缺省值 60000毫秒

响应示例:

1)成功

{
"status": 200,
"data": {
"recordId": "70aa0661-c626-4c55-bbba-e392624945fa", //运行实例ID
"status": "SUCCESS" //运行实例状态
}
}
参数名
参数值参数类型描述说明
status200Integer
data
Object
data.recordId70aa0661-c626-4c55-bbba-e392624945faString

运行实例ID

实例ID即为运行记录ID

data.statusSUCCESSString实例运行结果,成功、失败、中断,仅当请求参数【等待任务运行完成再返回内容】为【是】时返回此内容

2)失败

{
"status": 200,
"errorCode": "E8130051",
"errorMsg": "任务不存在,无法获取文件"
}
参数名
参数值参数类型描述说明
status200Integer
errorCodeE8130051String
errorMsg任务不存在,无法获取文件String

3)必填为空

{
"status": 200,
"errorCode": "E8130052",
"errorMsg": "workId can not be null!"
}
参数名
参数值参数类型
status200Integer
errorCodeE8130052String
errorMsgworkId can not be null!String

4)没有权限操作

{
"status": 200,
"errorCode": "E8130059",
"errorMsg": "用户没有权限"
}
参数名
参数值参数类型
status200Integer
errorCodeE8130059String
errorMsg用户没有权限String

2.5 基于任务名运行任务

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/execute

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

Content-Type:application/json

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)body请求参数:

请求类型:raw_json

{
"workName": "fdlDemo", //【必填】任务名称
"params": {
"paramName": "paramValue" //【非必填】执行参数
}, //【非必填】执行参数
"waitForResponse": "true", //【非必填】等待任务运行完成再返回内容
"waitTime": 10000 
}

若 Body 内非必填字段为空,Body 格式为:

{
"workName": "行列转换",
"params": {}
}
参数名
参数值是否必填参数类型描述说明
workNamefdlDemoString【必填】任务名称
params
Object

【非必填】执行参数

可向定时任务传递参数,具体可参见:FR模板调用定时任务并传参

params.paramNameparamValueString【非必填】执行参数
waitForResponsetrueString【非必填】等待任务运行完成再返回结果,是、否 ,不填则为否,为否时直接返回实例ID或请求的结果,不返回运行结果
timeout10000String【非必填】等待时间 单位毫秒 缺省值 60000毫秒

响应示例:

1)成功

{
"status": 200, 
"data": {
"recordId": "e14169b9-328c-4b62-8a75-abc546f61d38", 
"status": "SUCCESS" 

}
参数名
参数值参数类型描述说明
status200Integer
data
Object
data.recordIde14169b9-328c-4b62-8a75-abc546f61d38String运行实例ID
data.statusSUCCESSString实例运行结果,成功、失败、中断,仅当请求参数【等待任务运行完成再返回内容】为【是】时返回此内容

2)失败

{
"status": 200, 
"errorCode": "E8130061", 
"errorMsg": "任务不存在,无法获取文件" 
}
参数名
参数值参数类型描述说明
status200Integer
errorCodeE8130061String
errorMsg任务不存在,无法获取文件String

3)必填为空

{
"status": 200,
"errorCode": "E8130061",
"errorMsg": "workName can not be null!"
}
参数名
参数值参数类型
status200Integer
errorCodeE8130061String
errorMsgworkName can not be null!String

4)没有权限操作

{
"status": 200,
"errorCode": "E8130069",
"errorMsg": "用户没有权限"
}
参数名
参数值参数类型
status200Integer
errorCodeE8130069String
errorMsg用户没有权限String

2.6 基于任务ID终止运行中实例

  • 不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。

  • 请求成功不代表终止成功,终止有一定的延迟。

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/terminate?workId=e10f1f1a-d567-4058-98bb-b71204154f8b

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)Query 请求参数:

参数名
参数值是否必填参数类型描述说明
workId868478d9-a36d-481f-b42d-6074310c2829String【必填】任务ID

响应示例:

成功

{
"code": "200",
"message": "success"
}
参数名
参数值参数类型描述说明
code200String
messagesuccessString

2.7 基于任务名终止运行中实例

  • 不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。

  • 请求成功不代表终止成功,终止有一定的延迟。

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/terminate?workName=01数据同步

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)Query 请求参数:

参数名
参数值是否必填参数类型描述说明
workName01数据同步String【必填】任务名称

响应示例:

1)成功

{
"code": "200",
"message": "success"
}
参数名
参数值参数类型描述说明
code200String
messagesuccessString

2)失败

{
"status": 200, 
"errorCode": "E8130089", 
"errorMsg": "任务不存在,无法获取文件" 
}
参数名
参数值参数类型描述说明
status200Integer
errorCodeE8130089String
errorMsg任务不存在,无法获取文件String

2.8 基于实例ID终止运行中实例

  • 不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。

  • 请求成功不代表终止成功,终止有一定的延迟。

基本信息:

接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/records/terminate

注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。

Content-Type:application/json

请求类型:POST

请求参数:

1)Header 请求参数

参数名
参数值是否必填参数类型描述说明
client_id{{CLIENT_ID}}String接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换
secret{{SECRET}}String接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换

2)Body 请求参数:

{
"executeIds": [
"16f7f568-767f-4786-bb2c-5dbc64cfbcad222"
] //【必填】运行实例ID
}
参数名
参数值是否必填参数类型描述说明
executeIds16f7f568-767f-4786-bb2c-5dbc64cfbcadArray【必填】运行实例ID

响应示例:

1)成功

{
"status": 200,
"data": "success"
}
参数名
参数值参数类型
status200Integer
datasuccessString

2)失败

{
"status": 200,
"errorCode": "E8130042",
"errorMsg": "executeIds can not be null!"
}
参数名
参数值参数类型
status200Integer
errorCodeE8130042String
errorMsgexecuteIds can not be null!String