Skip to content

任务管理中心 ​

任务管理中心说明 ​

任务管理中心定义 ​

任务管理中心负责管理各种任务的执行计划,执行过程,执行结果。支持的任务类型包括数据科学笔记,数据集成项目,数据集刷新,截图等。

执行计划结构说明 ​

字段类型描述
idINTEGER执行计划的 id
entityGroupSTRING执行计划的任务类型,见执行计划任务类型和对应参数设置说明
entityKeySTRING执行计划的唯一标识,见执行计划任务类型和对应参数设置说明
execDetailOBJECT执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等
createdAtDATETIME执行计划创建的时间
createdByINTEGER执行计划创建用户的 id
updatedAtDATETIME执行计划最后修改的时间
updatedByINTEGER执行计划最后修改用户的 id
enabledBOOL是否启用,包括 true 和 false
entityCreatedByINTEGER执行计划需要执行的任务对象的创建用户 id
execFrequencySTRING执行频率,见计划表达式的生成类型
startAtDATETIME最后一次任务执行开始执行的时间
stopAtDATETIME最后一次任务执行结束执行的时间
jobStatusSTRING最后一次任务执行的状态,见任务执行的状态说明
contextIdINTEGER立即执行的时候,会返回对应的任务执行进度信息id,其他情况为null
titleSTRING执行计划需要执行的任务对象的标题
entityCreatedByNameSTRING执行计划需要执行的任务对象的创建用户名称
nextStartAtDATETIME下次执行时间
costTimeINTEGER最后一次任务执行耗时,单位是秒
planItemsOBJECT 数组执行计划中每条具体的cron计划或者是依赖触发,见任务触发结构说明
pathSTRING应用的路径
importTypeINTEGER数据集引擎开关,0为未开启,1为开启
diskUsageINTEGER数据集大小,单位是字节
datasetCountINTEGER数据集个数
datasetTypeSTRING数据集类型,包括sql(sql查询),connection(数据连接),fusion(多表联合),union(数据合并),aggregate(数据聚合)
isVirtualBOOL数据集的执行计划是否是虚拟的,虚拟的用于在app scope的数据集列表里面选择包含或者排除数据集。
updateMethodSTRING数据更新方法,更新方法,ALL表示全量,INCREMENTAL表示增量
updateMethodSwitchableBOOL本数据集是否支持设置增量更新

任务触发结构说明 ​

字段类型描述
idINTEGER任务触发条目的 id
planIdINTEGER任务触发条目所属的执行计划的 id
triggerTypeSTRING任务触发类型,见任务触发类型说明
cronDescSTRINGcron表达式,仅triggerType是CRON_JOB的时候需要,格式需要符合Quartz的要求
cronTypeSTRINGcron表达式的生成类型,仅triggerType是CRON_JOB的时候需要,见计划表达式的生成类型
timeZoneSTRINGcron表达式对应的时区,仅triggerType是CRON_JOB的时候需要
triggerByJobsOBJECT 数组其他任务列表,任意一个执行完后触发本job,仅triggerType是DEPENDENCY的时候需要
triggerByJobs[].entityKeySTRING依赖的其他任务的唯一标识
triggerByJobs[].entityGroupSTRING依赖的其他任务的类型
createdAtDATETIME任务触发创建的时间
createdByINTEGER任务触发创建用户的 id
updatedAtDATETIME任务触发最后修改的时间
updatedByINTEGER任务触发最后修改用户的 id

任务详细信息说明 ​

字段类型描述
jobClassSTRING任务执行时调用的java类名,具体见执行计划任务类型和对应参数设置说明
jobParamsOBJECTkey/value Object,任务执行时参数信息,具体见执行计划任务类型和对应参数设置说明
retryTimesINTEGER任务执行失败重试次数

执行计划任务类型和对应参数设置说明 ​

值意义entityKeyjavaClassjobParams
NOTEBOOK数据科学笔记数据科学idcom.hengshi.nangaparbat.schedulejob.NotebookJob{"notebook": notebookId},其中notebookId是数据科学的id
PIPELINE数据集成项目数据集成idcom.hengshi.nangaparbat.schedulejob.PipelineJob{"pipeline": pipelineId},其中pipelineId是数据集成的id
DATASET数据集刷新appId-datasetId,其中appId是应用id,datasetId是数据集idcom.hengshi.nangaparbat.schedulejob.DatasetJob{"app":appId,"dataset":datasetId},其中appId是应用id,datasetId是数据集id
SCREENSHOT截图
APP_EMAIL应用邮件自动推送应用idcom.hengshi.nangaparbat.schedulejob.AppEmailJob{"app":appId},其中appId是应用id
APP_REFRESH应用数据集刷新应用idcom.hengshi.nangaparbat.schedulejob.AppDatasetRefreshJob{"app":appId},其中appId是应用id
DATA_ALERT数据预警数据预警idcom.hengshi.nangaparbat.schedulejob.DataAlertJob{"dataAlertId":dataAlertId},其中dataAlertId是数据预警id
AI_RAG_EMBEDDINGHQL例子,HQL函数说明等向量化,变成浮点数向量,系统级固定为systemcom.hengshi.nangaparbat.schedulejob.AiRagEmbeddingJob{}
AI_RAG_TOKENIZE数据集的字段别名,字段描述,原子指标名称,原子指标描述,字段排重值(distinct values)做分词预处理,app级别应用idcom.hengshi.nangaparbat.schedulejob.AiRagTokenizeJob{"app":appId},其中appId是应用id
AI_CREATE_EXAMPLE根据系统抽象模板和数据集的字段,字段值,指标等信息,生成跟数据集相关的HQL例子,dataset级别appId-datasetId,其中appId是应用id,datasetId是数据集idcom.hengshi.nangaparbat.schedulejob.AiCreateExampleJob{"app":appId,"dataset":datasetId},其中appId是应用id,datasetId是数据集id
AI_RAG_MEASURE_SUBJECT_TOKENIZE根据业务指标主题id,对主题下所有业务指标执行分词向量化处理subjectId,主题idcom.hengshi.nangaparbat.schedulejob.AiRagMeasureSubjectTokenizeJob{"subjectId": subjectId},其中subjectId是主题id

任务触发类型说明 ​

值意义
CRON_JOBcron表达式
DEPENDENCY被其他任务触发
ONCE人工触发

计划表达式的生成类型 ​

值意义
MINUTELY每分钟,
HOURLY每小时,前端页面提供生成表达式的便捷方式
DAILY每天,前端页面提供生成表达式的便捷方式
WEEKLY每周,前端页面提供生成表达式的便捷方式
MONTHLY每月,前端页面提供生成表达式的便捷方式
CRON用户自定义

任务执行进度信息结构说明 ​

字段类型描述
idINTEGER任务执行的 id
planIdINTEGER执行计划的 id
jobStatusSTRING任务执行的状态,见任务执行的状态说明
createdAtDATETIME任务执行创建的时间
createdByINTEGER任务执行创建用户的 id
scheduledAtDATETIME任务执行被scheduler开始安排的时间
startAtDATETIME任务执行开始执行的时间
stopAtDATETIME任务执行结束执行的时间
planItemIdINTEGER触发本次运行的触发条目 id
jobLogIdINTEGER执行日志的 id
jobResultIdINTEGER执行结果的 id
heartbeatTimeDATETIME任务最新心跳时间
execDetailOBJECT执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等
entityGroupSTRING执行计划的任务类型,见执行计划任务类型和对应参数设置说明
entityKeySTRING执行计划的唯一标识,见执行计划任务类型和对应参数设置说明
titleSTRING执行计划需要执行的任务对象的标题
entityCreatedByNameSTRING执行计划需要执行的任务对象的创建用户名称
planItemOBJECT任务执行是被哪个触发条目触发,见任务触发结构说明
costTimeINTEGER最后一次任务执行耗时,单位是秒
pathSTRING应用的路径
importTypeINTEGER数据集引擎开关,0为未开启,1为开启
diskUsageINTEGER数据集大小,单位是字节
datasetCountINTEGER数据集个数

任务执行的状态说明 ​

值意义
NONE全新任务,无状态
PENDING已调度,等待执行
RUNNING正在执行
SUCCESSFUL执行成功
FAILED执行失败
CANCELLED执行取消

任务执行结果说明 ​

字段类型描述
schemaOBJECT数组每一个元素表示一个字段的属性,与数据集的字段结构相同
dataOBJECT数组每一个元素是表示一行数据的数组

接口说明 ​

主要用于创建调度对象的执行计划,或者立即执行,重新执行等。

创建执行计划 ​

请求URL ​

http
POST /api/schedules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数 ​

URL 参数 ​
字段类型是否必须说明
Request Body 参数 ​
字段类型是否必须描述
entityGroupSTRING是执行计划的任务类型,见执行计划任务类型和对应参数设置说明
entityKeySTRING是执行计划的唯一标识,见执行计划任务类型和对应参数设置说明
planItemsOBJECT 数组是执行计划中每条具体的cron计划或者是依赖触发,见任务触发结构说明
enabledBOOL否默认是true
execDetailOBJECT是执行计划要执行的任务的具体信息,见任务详细信息说明,这个来源于具体的对象,比如数据科学笔记,数据集等
syncBOOL否是否同步等待任务执行完成

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT见执行计划结构说明

接口示例: 创建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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
code错误码请求成功返回0
msgSTRING请求成功返回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 参数 ​
字段类型是否必须描述
entityGroupSTRING是
entityKeySTRING是

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
code错误码请求成功返回0
msgSTRING请求成功返回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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
code错误码请求成功返回0
msgSTRING请求成功返回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表示修改具体的计划,必须整体修改,整体提交。

字段类型是否必须描述
planItemsOBJECT 数组可选执行计划中每条具体的cron计划或者是依赖触发条目,见任务触发结构说明,为空或者null,表示删掉所有条目
enabledBOOL是

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT见执行计划结构说明

接口示例: ​

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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值

接口示例: ​

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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值

接口示例: ​

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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT见执行计划结构说明

接口示例: ​

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 参数 ​
字段类型是否必须说明
offsetINTEGER可选分页偏移量,默认是0
limitINTEGER可选分页获取个数,默认是10
entityKeySTRING可选意义同执行计划结构说明 中的entityKey
entityGroupSTRING是意义同执行计划结构说明 中的entityGroup
qSTRING可选搜索关键字
entityCreatedByListSTRING可选创建者用户id列表,英文逗号(,)分割
jobStatusListSTRING可选任务状态列表,英文逗号(,)分割
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
totalHitsINTEGER总个数
totalDiskUsageINTEGER数据集空间总大小,单位的byte
totalDatasetsINTEGER数据集个数
offsetINTEGER当前分页偏移量
dataOBJECT 数组数组的元素是一个执行计划,见执行计划结构说明

接口示例: ​

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 参数 ​
字段类型是否必须说明
entityKeySTRING可选意义同执行计划结构说明 中的entityKey
entityGroupSTRING是意义同执行计划结构说明 中的entityGroup
qSTRING可选搜索关键字
jobStatusListSTRING可选任务状态列表,英文逗号(,)分割
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT 数组数组的元素是一个用户信息

接口示例: ​

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 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT任务执行进度信息,见任务执行进度信息结构说明

接口示例: ​

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 参数 ​
字段类型是否必须说明
offsetINTEGER可选分页偏移量,默认是0
limitINTEGER可选分页获取个数,默认是10
entityKeySTRING可选意义同执行计划结构说明 中的entityKey
entityGroupSTRING是意义同执行计划结构说明 中的entityGroup
jobStatusSTRING可选任务执行的状态,见任务执行的状态说明
qSTRING可选搜索关键字
entityCreatedByListSTRING可选创建者用户id列表,英文逗号(,)分割
jobStatusListSTRING可选任务状态列表,英文逗号(,)分割
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
totalHitsINTEGER总个数
offsetINTEGER当前分页偏移量
dataOBJECT 数组数组的元素是一个任务执行进度信息,见任务执行进度信息结构说明

接口示例: ​

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 参数 ​
字段类型是否必须说明
entityKeySTRING可选意义同执行计划结构说明 中的entityKey
entityGroupSTRING是意义同执行计划结构说明 中的entityGroup
jobStatusSTRING可选任务执行的状态,见任务执行的状态说明
qSTRING可选搜索关键字
jobStatusListSTRING可选任务状态列表,英文逗号(,)分割
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT 数组数组的元素是一个用户信息

接口示例: ​

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 参数 ​
字段类型是否必须说明
blockBOOL可选是否阻塞,为true表示等到执行完再返回,否则返回空data,默认是true
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT 数组数组的元素是一个包含subKey和logs的对象
data[].subKeySTRING和具体的任务相关,notebook的话,是一个paragraph的id
data[].logsSTRING 数组每个数组元素是一条日志
doneBOOL当查询是非阻塞的时候,未完成的任务返回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 参数 ​
字段类型是否必须说明
blockBOOL可选是否阻塞,为true表示等到执行完再返回,否则返回空data,默认是true
Request Body 参数 ​
字段类型是否必须描述

返回对象的格式说明 ​

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT 数组数组的元素是一个包含subKey和result的对象
data[].subKeySTRING和具体的任务相关,notebook的话,是一个paragraph的id
data[].resultOBJECT和数据集的data查询结果类似,见任务执行结果说明
doneBOOL当查询是非阻塞的时候,未完成的任务返回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",
}

执行计划批量接口 ​

批量删除执行计划 ​

http
POST /api/batch/operation/delete HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "items": [
    {
      "objectType": "plan",
      "queryString": null, // 如果是全选,超过一页的,传这个,填查询的queryString,idSet不用传
      "idSet": [
        1,
        2
      ]
    }
  ]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "code": 0,
  "msg": "success",
  "data": {
    "items": [
      {
        "objectType": "app",
        "successIdSet": [
          1,
          2
        ]
      }
    ]
  },
  "chartDataStartTimeMillis": 0
}

批量开启或者关闭执行计划 ​

http
POST /api/batch/operation/update HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "items": [
    {
      "objectType": "plan",
      "queryString": null, // 如果是全选,超过一页的,传这个,填查询的queryString,idSet不用传
      "idSet": [
        1,
        2
      ]
    }
  ],
  "args": {
    "enabled": true // true表示开启,false表示关闭
  }
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "code": 0,
  "msg": "success",
  "data": {
    "items": [
      {
        "objectType": "plan",
        "successIdSet": [
          1,
          2
        ]
      }
    ]
  },
  "chartDataStartTimeMillis": 0
}

批量执行执行计划 ​

http
POST /api/batch/operation/execute HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "items": [
    {
      "objectType": "plan",
      "queryString": null, // 如果是全选,超过一页的,传这个,填查询的queryString,idSet不用传
      "idSet": [
        1,
        2
      ]
    }
  ]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "code": 0,
  "msg": "success",
  "data": {
    "items": [
      {
        "objectType": "app",
        "successIdSet": [
          1,
          2
        ]
      }
    ]
  },
  "chartDataStartTimeMillis": 0
}

HENGSHI SENSE API 使用手册