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
DB_BATCH_SYNC数据批量同步数据批量同步项目idcom.hengshi.nangaparbat.schedulejob.DBBatchSyncJob{"syncProj":syncProjId},其中syncProjId是数据批量同步项目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",
}

HENGSHI SENSE API 使用手册