ECMAscript 判断arcgisGP状态

判断gp处理状态

获取内容的jobId

 1 var InputStreamCallback = Java.type("org.apache.nifi.processor.io.InputStreamCallback");
 2 var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
 3 var IOUtils = Java.type("org.apache.commons.io.IOUtils");
 4 var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
 5 var flowFile = session.get();
 6 if(flowFile != null) {
 7     try {
 8         var jobID = "";
 9         session.read(flowFile, new InputStreamCallback(function(inputStream) {
10             var str = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
11             var obj = JSON.parse(str);
12             jobID = obj.jobId
13         }));
14         flowFile = session.putAttribute(flowFile, 'runJobID', jobID)
15         session.transfer(flowFile, REL_SUCCESS)
16     } catch(e) {
17         session.transfer(flowFile, REL_FAILURE)
18     }
19 }

调用gp验证服务

判断返回值,排除失败调用

 1 var InputStreamCallback = Java.type("org.apache.nifi.processor.io.InputStreamCallback");
 2 var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
 3 var IOUtils = Java.type("org.apache.commons.io.IOUtils");
 4 var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
 5 var flowFile = session.get();
 6 if(flowFile != null) {
 7     try {
 8         var isOk = false;
 9         session.read(flowFile, new InputStreamCallback(function(inputStream) {
10             var str = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
11             var obj = JSON.parse(str);
12             var list = obj.messages
13             if(list.length != 0){
14                 if(list[list.length-1].description.indexOf("失败") > -1){
15                     isOk = true
16                 }
17             }
18         }));
19         if(isOk){
20             session.transfer(flowFile, REL_FAILURE)
21         }else{
22             session.transfer(flowFile, REL_SUCCESS)
23         }
24     } catch(e) {
25         session.transfer(flowFile, REL_FAILURE)
26     }
27 }

调用返回值,判断完成情况

 1 var InputStreamCallback = Java.type("org.apache.nifi.processor.io.InputStreamCallback");
 2 var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
 3 var IOUtils = Java.type("org.apache.commons.io.IOUtils");
 4 var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
 5 var flowFile = session.get();
 6 if(flowFile != null) {
 7     try {
 8         var isOk = false;
 9         session.read(flowFile, new InputStreamCallback(function(inputStream) {
10             var str = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
11             var obj = JSON.parse(str);
12             var list = obj.messages
13             if(list[list.length-1].description.indexOf("Succeeded") > -1 || list[list.length-1].description.indexOf("成功") > -1 ){
14                 isOk = true
15             }
16         }));
17         if(isOk){
18             session.transfer(flowFile, REL_SUCCESS)
19         }else{
20             session.transfer(flowFile, REL_FAILURE)
21         }
22     } catch(e) {
23         session.transfer(flowFile, REL_FAILURE)
24     }
25 }

 

posted @ 2021-07-22 14:40  木章  阅读(40)  评论(0编辑  收藏  举报