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 }
做你说过的 说你能做的;