URI

<tool_uri>/jobs{[.<format>]}

支持的方法

GETPOSTHEAD

父资源

tool

子资源

jobMessages

介绍

jobs资源是对应的处理自动化工具资源的根目录。对处理自动化工具的jobs资源执行GET请求,可获取对应工具正在执行或已完成执行的异步执行任务列表。对处理自动化工具的jobs资源执行POST请求可异步执行对应的处理自动化工具。

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下URI执行HTTP请求,以自定义工具TownCluster为例加以说明,其中,supermapiserver是服务器名。

http://supermapiserver:8090/iserver/services/geoprocessing/restjsr/gp/v2/sps.WorkflowProcessFactory.models:towncluster/jobs

GET 请求

根据传入的处理自动化工具ID获取该工具的异步执行任务列表。

响应结构

对处理自动化工具资源执行GET请求,在响应消息的实体主体里是一个处理自动化任务资源描述集,其中单个资源描述的结构如下:

字段 类型 说明

jobID

String

处理自动化任务ID

state

Object

该任务的状态。包括执行状态、起止时间、耗时等

processID

String

处理自动化任务对应的工具ID

progress

Object

处理自动化任务进度信息

messages

Map<String,Object>

该任务执行的具体信息

processTitle

String

处理自动化任务所用工具名称

其中progress结构为:

字段 类型 说明

percent

int

处理自动化任务执行进度百分比

message

String

处理自动化执行任务进度信息

响应示例

对处理自动化工具任务资源执行GET请求,返回rjson格式的工具执行结果如下:

{

    "jobID": "gp-20200909-153236-3E89D",

    "processID": "sps.WorkflowProcessFactory.models:towncluster",

    "messages": {

        "result": "{\"saveas-dataConnInfo\":\"--providerType=dsf --path=/home/dsfdata\"}",

        "processMethodStatus": {

            "读取矢量数据": "FINISHED",

            "密度聚类": "FINISHED",

            "保存矢量数据": "FINISHED"

        },

        "parameter": "{\"densitycluster-eps\":\"10 Kilometer\",\"densitycluster-minPoints\":\"10\",\"densitycluster-fieldName\":\"class\",\"densitycluster-savedFields\":[\"Name\"],\"saveas-dataConnInfo\":\"--providerType=dsf --path=/home/dsfdata/result\",\"readasfeaturerdd-dataConnInfo\":\"--providerType=dsf --path=/home/dsfdata\"}"

    },

    "processTitle": "密度聚类分析",

    "progress": {

        "percent": 20,

        "message": ""

    },

    "state": {

        "formatStartTime": "2020-09-09 15:32:36",

        "errorStackTrace": null,

        "success": true,

        "startTime": 1599636756423,

        "formatEndTime": "2020-09-09 15:32:36",

        "endTime": 1599636756748,

        "runState": "FINISHED",

        "errorMsg": null,

        "elapsedTime": 0

    }

}

POST 请求

根据传入的处理自动化工具ID以及相关参数异步执行对应的处理自动化工具,返回值为工具执行状态信息。

请求参数

对指定的处理自动化工具任务资源执行POST请求,请求参数为JSON格式:

名称 类型 含义

parameter

String

执行处理自动化工具时的参数设置,形式为{”ParameterID1”:”value1”,”ParameterID2”:”value2”,……},其中ParameterID为工具的参数ID,由对应的处理自动化工具描述可以确定,value为参数的值

environments

Object[]

执行处理自动化工具的环境参数设置,包含以下字段:

    • type:处理自动化工具的环境参数类型,目前只支持对分布式处理自动化工具设置环境参数,即"type":"BDT_Spark_Environment"

    • master:集群master地址,如:"master":"spark://hostname:7077"

    • settings:集群配置的参数设置,为数组格式,支持多个配置参数设置,使用逗号“,”分隔开,如:"settings":["spark.cores.max=8","spark.driver.host=192.168.17.43","spark.executor.memory=32g"]

注:parameter与environment参数内容格式与同步执行处理自动化工具参数格式是相同的。

响应结构

POST请求响应描述的结构如下:

字段 类型 说明

jobID

String

处理自动化任务ID

status

String

处理自动化任务的执行状态

message

String

当请求体填写错误时,提示异常信息

响应示例

对处理自动化工具执行POST请求,异步执行自定义工具TownCluster。请求体中的参数如下:

{

"parameter": {

"densitycluster-savedFields": ["County", "NAME"],

"densitycluster-eps": "15.0 Kilometer",

"saveas-dataConnInfo": "--providerType=dsf --path=/home/dsfdata "

},

"environments":[ {

"type":"BDT_Spark_Environment",

"master": "spark://172.16.16.8:7077",

"appName": "Geoprocessing",

"settings": ["spark.cores.max=8", "spark.driver.host=192.168.17.43", "spark.executor.memory=32g"]

}]

}

返回JSON格式的任务状态表述如下:

{"jobID":"gp-20200909-153236-3E89D","message":"参数和环境参数未填写或填写格式不正确" ,"status":"started"}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 jobs 资源是否存在,或者客户端是否有权限访问 jobs 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 jobs 资源是否支持<format>格式的表述。

请参见