1. 任务管理中心
1.1. 任务管理中心说明
1.1.1. 任务管理中心定义
任务管理中心负责管理各种任务的执行计划,执行过程,执行结果。支持的任务类型包括数据科学笔记,数据集成项目,数据集刷新,截图等。
执行计划结构说明
字段 |
类型 |
描述 |
id |
INTEGER |
执行计划的 id |
entityGroup |
STRING |
执行计划的任务类型,见执行计划任务类型和对应参数设置说明 |
entityKey |
STRING |
执行计划的唯一标识,见执行计划任务类型和对应参数设置说明 |
execDetail |
OBJECT |
执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等 |
createdAt |
DATETIME |
执行计划创建的时间 |
createdBy |
INTEGER |
执行计划创建用户的 id |
updatedAt |
DATETIME |
执行计划最后修改的时间 |
updatedBy |
INTEGER |
执行计划最后修改用户的 id |
enabled |
BOOL |
是否启用,包括 true 和 false |
entityCreatedBy |
INTEGER |
执行计划需要执行的任务对象的创建用户 id |
execFrequency |
STRING |
执行频率,见计划表达式的生成类型 |
startAt |
DATETIME |
最后一次任务执行开始执行的时间 |
stopAt |
DATETIME |
最后一次任务执行结束执行的时间 |
jobStatus |
STRING |
最后一次任务执行的状态,见任务执行的状态说明 |
contextId |
INTEGER |
立即执行的时候,会返回对应的任务执行进度信息id,其他情况为null |
title |
STRING |
执行计划需要执行的任务对象的标题 |
entityCreatedByName |
STRING |
执行计划需要执行的任务对象的创建用户名称 |
nextStartAt |
DATETIME |
下次执行时间 |
costTime |
INTEGER |
最后一次任务执行耗时,单位是秒 |
planItems |
OBJECT 数组 |
执行计划中每条具体的cron计划或者是依赖触发,见任务触发结构说明 |
path |
STRING |
应用的路径 |
importType |
INTEGER |
数据集引擎开关,0为未开启,1为开启 |
diskUsage |
INTEGER |
数据集大小,单位是字节 |
datasetCount |
INTEGER |
数据集个数 |
datasetType |
STRING |
数据集类型,包括sql(sql查询),connection(数据连接),fusion(多表联合),union(数据合并),aggregate(数据聚合) |
isVirtual |
BOOL |
数据集的执行计划是否是虚拟的,虚拟的用于在app scope的数据集列表里面选择包含或者排除数据集。 |
updateMethod |
STRING |
数据更新方法,更新方法,ALL表示全量,INCREMENTAL表示增量 |
updateMethodSwitchable |
BOOL |
本数据集是否支持设置增量更新 |
任务触发结构说明
字段 |
类型 |
描述 |
id |
INTEGER |
任务触发条目的 id |
planId |
INTEGER |
任务触发条目所属的执行计划的 id |
triggerType |
STRING |
任务触发类型,见任务触发类型说明 |
cronDesc |
STRING |
cron表达式,仅triggerType是CRON_JOB的时候需要,格式需要符合Quartz的要求 |
cronType |
STRING |
cron表达式的生成类型,仅triggerType是CRON_JOB的时候需要,见计划表达式的生成类型 |
timeZone |
STRING |
cron表达式对应的时区,仅triggerType是CRON_JOB的时候需要 |
triggerByJobs |
OBJECT 数组 |
其他任务列表,任意一个执行完后触发本job,仅triggerType是DEPENDENCY的时候需要 |
triggerByJobs[].entityKey |
STRING |
依赖的其他任务的唯一标识 |
triggerByJobs[].entityGroup |
STRING |
依赖的其他任务的类型 |
createdAt |
DATETIME |
任务触发创建的时间 |
createdBy |
INTEGER |
任务触发创建用户的 id |
updatedAt |
DATETIME |
任务触发最后修改的时间 |
updatedBy |
INTEGER |
任务触发最后修改用户的 id |
任务详细信息说明
执行计划任务类型和对应参数设置说明
值 |
意义 |
entityKey |
javaClass |
jobParams |
NOTEBOOK |
数据科学笔记 |
数据科学id |
com.hengshi.nangaparbat.schedulejob.NotebookJob |
{"notebook": notebookId},其中notebookId是数据科学的id |
PIPELINE |
数据集成项目 |
数据集成id |
com.hengshi.nangaparbat.schedulejob.PipelineJob |
{"pipeline": pipelineId},其中pipelineId是数据集成的id |
DATASET |
数据集刷新 |
appId-datasetId,其中appId是应用id,datasetId是数据集id |
com.hengshi.nangaparbat.schedulejob.DatasetJob |
{"app":appId,"dataset":datasetId},其中appId是应用id,datasetId是数据集id |
SCREENSHOT |
截图 |
|
|
|
APP_EMAIL |
应用邮件自动推送 |
应用id |
com.hengshi.nangaparbat.schedulejob.AppEmailJob |
{"app":appId},其中appId是应用id |
APP_REFRESH |
应用数据集刷新 |
应用id |
com.hengshi.nangaparbat.schedulejob.AppDatasetRefreshJob |
{"app":appId},其中appId是应用id |
DB_BATCH_SYNC |
数据批量同步 |
数据批量同步项目id |
com.hengshi.nangaparbat.schedulejob.DBBatchSyncJob |
{"syncProj":syncProjId},其中syncProjId是数据批量同步项目id |
任务触发类型说明
值 |
意义 |
CRON_JOB |
cron表达式 |
DEPENDENCY |
被其他任务触发 |
ONCE |
人工触发 |
计划表达式的生成类型
值 |
意义 |
MINUTELY |
每分钟, |
HOURLY |
每小时,前端页面提供生成表达式的便捷方式 |
DAILY |
每天,前端页面提供生成表达式的便捷方式 |
WEEKLY |
每周,前端页面提供生成表达式的便捷方式 |
MONTHLY |
每月,前端页面提供生成表达式的便捷方式 |
CRON |
用户自定义 |
任务执行进度信息结构说明
字段 |
类型 |
描述 |
id |
INTEGER |
任务执行的 id |
planId |
INTEGER |
执行计划的 id |
jobStatus |
STRING |
任务执行的状态,见任务执行的状态说明 |
createdAt |
DATETIME |
任务执行创建的时间 |
createdBy |
INTEGER |
任务执行创建用户的 id |
scheduledAt |
DATETIME |
任务执行被scheduler开始安排的时间 |
startAt |
DATETIME |
任务执行开始执行的时间 |
stopAt |
DATETIME |
任务执行结束执行的时间 |
planItemId |
INTEGER |
触发本次运行的触发条目 id |
jobLogId |
INTEGER |
执行日志的 id |
jobResultId |
INTEGER |
执行结果的 id |
heartbeatTime |
DATETIME |
任务最新心跳时间 |
execDetail |
OBJECT |
执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等 |
entityGroup |
STRING |
执行计划的任务类型,见执行计划任务类型和对应参数设置说明 |
entityKey |
STRING |
执行计划的唯一标识,见执行计划任务类型和对应参数设置说明 |
title |
STRING |
执行计划需要执行的任务对象的标题 |
entityCreatedByName |
STRING |
执行计划需要执行的任务对象的创建用户名称 |
planItem |
OBJECT |
任务执行是被哪个触发条目触发,见任务触发结构说明 |
costTime |
INTEGER |
最后一次任务执行耗时,单位是秒 |
path |
STRING |
应用的路径 |
importType |
INTEGER |
数据集引擎开关,0为未开启,1为开启 |
diskUsage |
INTEGER |
数据集大小,单位是字节 |
datasetCount |
INTEGER |
数据集个数 |
任务执行的状态说明
值 |
意义 |
NONE |
全新任务,无状态 |
PENDING |
已调度,等待执行 |
RUNNING |
正在执行 |
SUCCESSFUL |
执行成功 |
FAILED |
执行失败 |
CANCELLED |
执行取消 |
任务执行结果说明
字段 |
类型 |
描述 |
schema |
OBJECT数组 |
每一个元素表示一个字段的属性,与数据集的字段结构相同 |
data |
OBJECT数组 |
每一个元素是表示一行数据的数组 |
1.2. 接口说明
主要用于创建调度对象的执行计划,或者立即执行,重新执行等。
1.2.1. 创建执行计划
请求URL
POST /api/schedules
需要认证:是
请求参数
URL 参数
Request Body 参数
字段 |
类型 |
是否必须 |
描述 |
entityGroup |
STRING |
是 |
执行计划的任务类型,见执行计划任务类型和对应参数设置说明 |
entityKey |
STRING |
是 |
执行计划的唯一标识,见执行计划任务类型和对应参数设置说明 |
planItems |
OBJECT 数组 |
是 |
执行计划中每条具体的cron计划或者是依赖触发,见任务触发结构说明 |
enabled |
BOOL |
否 |
默认是true |
execDetail |
OBJECT |
是 |
执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等 |
sync |
BOOL |
否 |
是否同步等待任务执行完成 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见执行计划结构说明 |
接口示例: 创建cron类型的执行计划
POST /api/schedules
{
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"planItems": [
{
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
}
}
返回
{
"code": 0,
"data": {
"id": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"enabled": true,
"planItems": [
{
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"id": 2,
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
},
"title": "notebook1",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"updatedAt": "2020-03-05 15:01:02",
"updatedBy": 1
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
接口示例: 立即执行或者是重新运行某类任务,这里是notebook
POST /api/schedules
{
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"planItems": [
{
"triggerType": "ONCE"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
}
}
返回
{
"code": 0,
"data": {
"id": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"enabled": true,
"planItems": [
{
"id": 3,
"triggerType": "ONCE",
"planId": 1
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
},
"title": "notebook1",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"updatedAt": "2020-03-05 15:01:02",
"updatedBy": 1
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.2. 根据执行计划id取消执行计划的执行任务
请求URL
PUT /api/schedules/{scheduleId}/cancel
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
code |
错误码 |
请求成功返回0 |
msg |
STRING |
请求成功返回success |
接口示例:
PUT /api/schedules/{scheduleId}/cancel
{}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.3. 根据body信息取消执行计划的执行任务
请求URL
POST /api/schedules/cancel
需要认证:是
请求参数
URL 参数
Request Body 参数
字段 |
类型 |
是否必须 |
描述 |
entityGroup |
STRING |
是 |
|
entityKey |
STRING |
是 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
code |
错误码 |
请求成功返回0 |
msg |
STRING |
请求成功返回success |
接口示例:
POST /api/schedules/cancel
{"entityGroup":"PIPELINE","entityKey":"1"}
返回
{
"code": 0,
"msg": "success",
"version": "4.0-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.4. 删除执行计划
请求URL
DELETE /api/schedules/{scheduleId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
code |
错误码 |
请求成功返回0 |
msg |
STRING |
请求成功返回success |
接口示例:
DELETE /api/schedules/{scheduleId}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.5. 修改执行计划
主要用于启用/停用,和修改具体触发条目
请求URL
PUT /api/schedules/{scheduleId}
需要认证:是
请求参数
URL 参数
Request Body 参数
只能修改planItems和enabled,修改enabled表示启用或者停用,修改planItems表示修改具体的计划,必须整体修改,整体提交。
字段 |
类型 |
是否必须 |
描述 |
planItems |
OBJECT 数组 |
可选 |
执行计划中每条具体的cron计划或者是依赖触发条目,见任务触发结构说明,为空或者null,表示删掉所有条目 |
enabled |
BOOL |
是 |
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见执行计划结构说明 |
接口示例:
PUT /api/schedules/{scheduleId}
{
"enabled": false,
"planItems": [
{
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"id": 2,
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
]
}
返回
{
"code": 0,
"data": {
"id": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"enabled": false,
"planItems": [
{
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"id": 2,
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
},
"title": "notebook1",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"updatedAt": "2020-03-05 15:01:02",
"updatedBy": 1
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.6. 启用执行计划
请求URL
POST /api/schedules/{scheduleId}/enable
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
接口示例:
POST /api/schedules/{scheduleId}/enable
{}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.7. 停用执行计划
请求URL
POST /api/schedules/{scheduleId}/disable
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
接口示例:
POST /api/schedules/{scheduleId}/disable
{}
返回
{
"code": 0,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.8. 查询执行计划
请求URL
GET /api/schedules/{scheduleId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
见执行计划结构说明 |
接口示例:
GET /api/schedules/{scheduleId}
返回
{
"code": 0,
"data": {
"id": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"enabled": false,
"planItems": [
{
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"id": 2,
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
},
"title": "notebook1",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"updatedAt": "2020-03-05 15:01:02",
"updatedBy": 1
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.9. 查询执行计划列表
请求URL
GET /api/schedules
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
offset |
INTEGER |
可选 |
分页偏移量,默认是0 |
limit |
INTEGER |
可选 |
分页获取个数,默认是10 |
entityKey |
STRING |
可选 |
意义同执行计划结构说明 中的entityKey |
entityGroup |
STRING |
是 |
意义同执行计划结构说明 中的entityGroup |
q |
STRING |
可选 |
搜索关键字 |
entityCreatedByList |
STRING |
可选 |
创建者用户id列表,英文逗号(,)分割 |
jobStatusList |
STRING |
可选 |
任务状态列表,英文逗号(,)分割 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
totalHits |
INTEGER |
总个数 |
totalDiskUsage |
INTEGER |
数据集空间总大小,单位的byte |
totalDatasets |
INTEGER |
数据集个数 |
offset |
INTEGER |
当前分页偏移量 |
data |
OBJECT 数组 |
数组的元素是一个执行计划,见执行计划结构说明 |
接口示例:
GET /api/schedules?entityKey=1&entityGroup=NOTEBOOK
返回
{
"code": 0,
"data": [
{
"id": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"enabled": false,
"planItems": [
{
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 ? * 1",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
{
"id": 2,
"triggerType": "CRON_JOB",
"cronDesc": "*/30 * * * * ?",
"cronType": "CRON",
"timeZone": "GMT+08:00"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
},
"title": "notebook1",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"updatedAt": "2020-03-05 15:01:02",
"updatedBy": 1
}
],
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567",
"totalHits": 1,
"offset": 0
}
1.2.10. 查询任务执行进度信息的用户列表
请求URL
GET /api/schedules/users
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
entityKey |
STRING |
可选 |
意义同执行计划结构说明 中的entityKey |
entityGroup |
STRING |
是 |
意义同执行计划结构说明 中的entityGroup |
q |
STRING |
可选 |
搜索关键字 |
jobStatusList |
STRING |
可选 |
任务状态列表,英文逗号(,)分割 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT 数组 |
数组的元素是一个用户信息 |
接口示例:
GET /api/schedules/users?entityGroup=DATASET
返回
{
"version":"3.3-SNAPSHOT@9a5e106#6730f0d",
"code":0,
"msg":"success",
"data":[
{
"id":7,
"name":"admin",
"email":"admin@1.com",
"description":"",
"avatar":"",
"enable":true,
"userType":"internal",
"loginName":"admin",
"config":{
"sys.email":{
"source":"SYSTEM_DEFINED",
"value":"admin@1.com",
"type":"string"
},
"sys.login_name":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
},
"sys.mobile":{
"source":"SYSTEM_DEFINED",
"type":"string"
},
"sys.id":{
"source":"SYSTEM_DEFINED",
"value":7,
"type":"number"
},
"sys.loginName":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
},
"sys.name":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
}
},
"options":{},
"roles":[{"id":4,"name":"data viewer","description":"data viewer"}],
"salt":"5a5dd366-4142-4c6b-b749-74d6c9564d94",
"organizations":[]
}
]
}
1.2.11. 查询任务执行进度信息
请求URL
GET /api/contexts/{contextId}
需要认证:是
请求参数
URL 参数
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT |
任务执行进度信息,见任务执行进度信息结构说明 |
接口示例:
GET /api/contexts/1
返回
{
"code": 0,
"data": {
"id": 1,
"planId": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"jobStatus": "SUCCESSFUL",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"scheduleAt": "2020-03-05 15:01:03",
"startAt": "2020-03-05 15:01:04",
"stopAt": "2020-03-05 15:01:06",
"planItem": {
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 * * 0",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
"jobLogId": 1,
"jobResultId": 1,
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
}
},
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.12. 查询任务执行进度信息列表
请求URL
GET /api/contexts
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
offset |
INTEGER |
可选 |
分页偏移量,默认是0 |
limit |
INTEGER |
可选 |
分页获取个数,默认是10 |
entityKey |
STRING |
可选 |
意义同执行计划结构说明 中的entityKey |
entityGroup |
STRING |
是 |
意义同执行计划结构说明 中的entityGroup |
jobStatus |
STRING |
可选 |
任务执行的状态,见任务执行的状态说明 |
q |
STRING |
可选 |
搜索关键字 |
entityCreatedByList |
STRING |
可选 |
创建者用户id列表,英文逗号(,)分割 |
jobStatusList |
STRING |
可选 |
任务状态列表,英文逗号(,)分割 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
totalHits |
INTEGER |
总个数 |
offset |
INTEGER |
当前分页偏移量 |
data |
OBJECT 数组 |
数组的元素是一个任务执行进度信息,见任务执行进度信息结构说明 |
接口示例:
GET /api/contexts?entityKey=1&entityGroup=NOTEBOOK
返回
{
"code": 0,
"data": [
{
"id": 1,
"planId": 1,
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"jobStatus": "SUCCESSFUL",
"createdAt": "2020-03-05 15:01:02",
"createdBy": 1,
"scheduleAt": "2020-03-05 15:01:03",
"startAt": "2020-03-05 15:01:04",
"stopAt": "2020-03-05 15:01:06",
"planItem": {
"id": 1,
"triggerType": "CRON_JOB",
"cronDesc": "0 15 0 * * 0",
"cronType": "WEEKLY",
"timeZone": "GMT+08:00"
},
"jobLogId": 1,
"jobResultId": 1,
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
}
}
],
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567",
"totalHits": 1,
"offset": 0
}
1.2.13. 查询任务执行进度信息的用户列表
请求URL
GET /api/contexts/users
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
entityKey |
STRING |
可选 |
意义同执行计划结构说明 中的entityKey |
entityGroup |
STRING |
是 |
意义同执行计划结构说明 中的entityGroup |
jobStatus |
STRING |
可选 |
任务执行的状态,见任务执行的状态说明 |
q |
STRING |
可选 |
搜索关键字 |
jobStatusList |
STRING |
可选 |
任务状态列表,英文逗号(,)分割 |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT 数组 |
数组的元素是一个用户信息 |
接口示例:
GET /api/contexts/users?entityGroup=DATASET
返回
{
"version":"3.3-SNAPSHOT@9a5e106#6730f0d",
"code":0,
"msg":"success",
"data":[
{
"id":7,
"name":"admin",
"email":"admin@1.com",
"description":"",
"avatar":"",
"enable":true,
"userType":"internal",
"loginName":"admin",
"config":{
"sys.email":{
"source":"SYSTEM_DEFINED",
"value":"admin@1.com",
"type":"string"
},
"sys.login_name":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
},
"sys.mobile":{
"source":"SYSTEM_DEFINED",
"type":"string"
},
"sys.id":{
"source":"SYSTEM_DEFINED",
"value":7,
"type":"number"
},
"sys.loginName":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
},
"sys.name":{
"source":"SYSTEM_DEFINED",
"value":"admin",
"type":"string"
}
},
"options":{},
"roles":[{"id":4,"name":"data viewer","description":"data viewer"}],
"salt":"5a5dd366-4142-4c6b-b749-74d6c9564d94",
"organizations":[]
}
]
}
1.2.14. 查询任务执行进度信息的日志
请求URL
GET /api/contexts/{contextId}/logs
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
block |
BOOL |
可选 |
是否阻塞,为true表示等到执行完再返回,否则返回空data,默认是true |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT 数组 |
数组的元素是一个包含subKey和logs的对象 |
data[].subKey |
STRING |
和具体的任务相关,notebook的话,是一个paragraph的id |
data[].logs |
STRING 数组 |
每个数组元素是一条日志 |
done |
BOOL |
当查询是非阻塞的时候,未完成的任务返回false |
接口示例:
GET /api/contexts/{contextId}/logs
返回
{
"code": 0,
"data": [
{
"subKey": "1",
"logs": [
"2020-03-03 17:10:08.13 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task start",
"2020-03-03 17:10:08.409 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task done"
]
},
{
"subKey": "2",
"logs": [
"2020-03-03 17:10:08.13 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task start",
"2020-03-03 17:10:08.409 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task done"
]
}
],
"done": true,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}
1.2.15. 查询任务执行进度信息的执行结果
请求URL
GET /api/contexts/{contextId}/results
需要认证:是
请求参数
URL 参数
字段 |
类型 |
是否必须 |
说明 |
block |
BOOL |
可选 |
是否阻塞,为true表示等到执行完再返回,否则返回空data,默认是true |
Request Body 参数
返回对象的格式说明
字段 |
类型 |
说明 |
version |
STRING |
当前系统版本哈希值 |
data |
OBJECT 数组 |
数组的元素是一个包含subKey和result的对象 |
data[].subKey |
STRING |
和具体的任务相关,notebook的话,是一个paragraph的id |
data[].result |
OBJECT |
和数据集的data查询结果类似,见任务执行结果说明 |
done |
BOOL |
当查询是非阻塞的时候,未完成的任务返回false |
接口示例:
GET /api/contexts/{contextId}/results
返回
{
"code": 0,
"data": [
{
"subKey": "1",
"result": {"data": [...],"schema": [...]}
},
{
"subKey": "2",
"result": {"data": [...],"schema": [...]}
}
],
"done": true,
"msg": "success",
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}