<tool_uri>/jobs{[.<format>]}
jobs资源是对应的处理自动化工具资源的根目录。对处理自动化工具的jobs资源执行GET请求,可获取对应工具正在执行或已完成执行的异步执行任务列表。对处理自动化工具的jobs资源执行POST请求可异步执行对应的处理自动化工具。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下URI执行HTTP请求,以自定义工具TownCluster为例加以说明,其中,supermapiserver是服务器名。
http://supermapiserver:8090/iserver/services/geoprocessing/restjsr/gp/v2/sps.WorkflowProcessFactory.models:towncluster/jobs
根据传入的处理自动化工具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
}
}
根据传入的处理自动化工具ID以及相关参数异步执行对应的处理自动化工具,返回值为工具执行状态信息。
对指定的处理自动化工具任务资源执行POST请求,请求参数为JSON格式:
名称 | 类型 | 含义 |
parameter |
String |
执行处理自动化工具时的参数设置,形式为{”ParameterID1”:”value1”,”ParameterID2”:”value2”,……},其中ParameterID为工具的参数ID,由对应的处理自动化工具描述可以确定,value为参数的值 |
environments |
Object[] | 执行处理自动化工具的环境参数设置,包含以下字段:
|
注: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"}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 jobs 资源是否存在,或者客户端是否有权限访问 jobs 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 jobs 资源是否支持<format>格式的表述。