主题
任务管理中心
任务管理中心说明
任务管理中心定义
任务管理中心负责管理各种任务的执行计划,执行过程,执行结果。支持的任务类型包括数据科学笔记,数据集成项目,数据集刷新,截图等。
执行计划结构说明
字段 | 类型 | 描述 |
---|---|---|
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 |
任务详细信息说明
字段 | 类型 | 描述 |
---|---|---|
jobClass | STRING | 任务执行时调用的java类名,具体见执行计划任务类型和对应参数设置说明 |
jobParams | OBJECT | key/value Object,任务执行时参数信息,具体见执行计划任务类型和对应参数设置说明 |
retryTimes | INTEGER | 任务执行失败重试次数 |
执行计划任务类型和对应参数设置说明
值 | 意义 | 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数组 | 每一个元素是表示一行数据的数组 |
接口说明
主要用于创建调度对象的执行计划,或者立即执行,重新执行等。
创建执行计划
请求URL
http
POST /api/schedules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
entityGroup | STRING | 是 | 执行计划的任务类型,见执行计划任务类型和对应参数设置说明 |
entityKey | STRING | 是 | 执行计划的唯一标识,见执行计划任务类型和对应参数设置说明 |
planItems | OBJECT 数组 | 是 | 执行计划中每条具体的cron计划或者是依赖触发,见任务触发结构说明 |
enabled | BOOL | 否 | 默认是true |
execDetail | OBJECT | 是 | 执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等 |
sync | BOOL | 否 | 是否同步等待任务执行完成 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见执行计划结构说明 |
接口示例: 创建cron类型的执行计划
http
POST /api/schedules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"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
}
}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
接口示例: 立即执行或者是重新运行某类任务,这里是notebook
http
POST /api/schedules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"entityGroup": "NOTEBOOK",
"entityKey": "1",
"planItems": [
{
"triggerType": "ONCE"
}
],
"execDetail": {
"jobClass": "com.hengshi.nangaparbat.schedulejob.NotebookJob",
"jobParams": {"notebook": 1},
"retryTimes": 1
}
}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
根据执行计划id取消执行计划的执行任务
请求URL
http
PUT /api/schedules/{scheduleId}/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
code | 错误码 | 请求成功返回0 |
msg | STRING | 请求成功返回success |
接口示例:
http
PUT /api/schedules/{scheduleId}/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}
根据body信息取消执行计划的执行任务
请求URL
http
POST /api/schedules/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
entityGroup | STRING | 是 | |
entityKey | STRING | 是 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
code | 错误码 | 请求成功返回0 |
msg | STRING | 请求成功返回success |
接口示例:
http
POST /api/schedules/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{"entityGroup":"PIPELINE","entityKey":"1"}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}
删除执行计划
请求URL
http
DELETE /api/schedules/{scheduleId} HTTP/1.1
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
code | 错误码 | 请求成功返回0 |
msg | STRING | 请求成功返回success |
接口示例:
http
DELETE /api/schedules/{scheduleId} HTTP/1.1
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}
修改执行计划
主要用于启用/停用,和修改具体触发条目
请求URL
http
PUT /api/schedules/{scheduleId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
只能修改planItems和enabled,修改enabled表示启用或者停用,修改planItems表示修改具体的计划,必须整体修改,整体提交。
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
planItems | OBJECT 数组 | 可选 | 执行计划中每条具体的cron计划或者是依赖触发条目,见任务触发结构说明,为空或者null,表示删掉所有条目 |
enabled | BOOL | 是 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见执行计划结构说明 |
接口示例:
http
PUT /api/schedules/{scheduleId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{
"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"
}
]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
启用执行计划
请求URL
http
POST /api/schedules/{scheduleId}/enable HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
接口示例:
http
POST /api/schedules/{scheduleId}/enable HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}
停用执行计划
请求URL
http
POST /api/schedules/{scheduleId}/disable HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
接口示例:
http
POST /api/schedules/{scheduleId}/disable HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
// Request Body:
{}
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}
查询执行计划
请求URL
http
GET /api/schedules/{scheduleId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见执行计划结构说明 |
接口示例:
http
GET /api/schedules/{scheduleId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
查询执行计划列表
请求URL
http
GET /api/schedules HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
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 数组 | 数组的元素是一个执行计划,见执行计划结构说明 |
接口示例:
http
GET /api/schedules?entityKey=1&entityGroup=NOTEBOOK HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
"totalHits": 1,
"offset": 0
}
查询任务执行进度信息的用户列表
请求URL
http
GET /api/schedules/users HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
entityKey | STRING | 可选 | 意义同执行计划结构说明 中的entityKey |
entityGroup | STRING | 是 | 意义同执行计划结构说明 中的entityGroup |
q | STRING | 可选 | 搜索关键字 |
jobStatusList | STRING | 可选 | 任务状态列表,英文逗号(,)分割 |
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 数组的元素是一个用户信息 |
接口示例:
http
GET /api/schedules/users?entityGroup=DATASET HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"version": "version@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":[]
}
]
}
查询任务执行进度信息
请求URL
http
GET /api/contexts/{contextId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 任务执行进度信息,见任务执行进度信息结构说明 |
接口示例:
http
GET /api/contexts/1 HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
查询任务执行进度信息列表
请求URL
http
GET /api/contexts HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
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 数组 | 数组的元素是一个任务执行进度信息,见任务执行进度信息结构说明 |
接口示例:
http
GET /api/contexts?entityKey=1&entityGroup=NOTEBOOK HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
"totalHits": 1,
"offset": 0
}
查询任务执行进度信息的用户列表
请求URL
http
GET /api/contexts/users HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
entityKey | STRING | 可选 | 意义同执行计划结构说明 中的entityKey |
entityGroup | STRING | 是 | 意义同执行计划结构说明 中的entityGroup |
jobStatus | STRING | 可选 | 任务执行的状态,见任务执行的状态说明 |
q | STRING | 可选 | 搜索关键字 |
jobStatusList | STRING | 可选 | 任务状态列表,英文逗号(,)分割 |
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 数组的元素是一个用户信息 |
接口示例:
http
GET /api/contexts/users?entityGroup=DATASET HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"version": "version@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":[]
}
]
}
查询任务执行进度信息的日志
请求URL
http
GET /api/contexts/{contextId}/logs HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
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 |
接口示例:
http
GET /api/contexts/{contextId}/logs HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"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": "version@9a5e106#6730f0d",
}
查询任务执行进度信息的执行结果
请求URL
http
GET /api/contexts/{contextId}/results HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
请求参数
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 |
接口示例:
http
GET /api/contexts/{contextId}/results HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json
{
"code": 0,
"data": [
{
"subKey": "1",
"result": {"data": [...],"schema": [...]}
},
{
"subKey": "2",
"result": {"data": [...],"schema": [...]}
}
],
"done": true,
"msg": "success",
"version": "version@9a5e106#6730f0d",
}