jobs


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 SparkJobState 该任务的状态。包括执行状态、起止时间、耗时等。
processTitle String 地理处理任务所用工具名称。

响应示例

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

[

  {

    "jobID": "gp-20200909-112441-A1717",

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

    "processTitle": "TownCluster",

    "state": {

      "formatStartTime": "2020-09-09 11:24:41",

      "errorStackTrace": null,

      "success": true,

      "startTime": 1599621881255,

      "formatEndTime": "2020-09-09 11:24:41",

      "endTime": 1599621881568,

      "runState": "FINISHED",

      "errorMsg": null,

      "elapsedTime": 0

    }

  },

  {

    "jobID": "gp-20200908-205317-037A8",

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

    "processTitle": "TownCluster",

    "state": {

      "formatStartTime": "2020-09-08 20:53:17",

      "errorStackTrace": null,

      "success": true,

      "startTime": 1599569597103,

      "formatEndTime": "2020-09-08 20:53:17",

      "endTime": 1599569597588,

      "runState": "FINISHED",

      "errorMsg": null,

      "elapsedTime": 0

    }

  }

]

POST 请求

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

请求参数

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

名称 类型 含义
parameter String 执行地理处理工具时的参数设置,形式为{”ParameterID1”:”value1”,”ParameterID2”:”value2”,……},其中ParameterID为工具的参数ID,由对应的地理处理工具描述可以确定,value为参数的值。
environment String

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

    • type:地理处理工具的环境参数类型,目前只支持对分布式地理处理工具设置环境参数,即"type":"BDT_Spark_Environment"。
    • master:集群master地址,如:"master":"spark://172.16.16.8:7077"。
    • settings:集群配置的参数设置,为数组格式,支持多个配置参数设置,使用逗号“,”分隔开,如:"settings":["spark.cores.max=8","spark.driver.host=192.168.17.43","spark.executor.memory=32g"]

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

响应结构

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

字段 类型 说明
jobID String 地理处理任务ID。
state SparkJobState 该任务的状态。包括执行状态、起止时间、耗时等。

 

响应示例

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

{

"parameter": {

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

"densitycluster-eps": "15.0 Kilometer",

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

},

"environment ":[ {

"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","status":"started"}

HEAD 请求

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

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

请参见