/** * @param pGridInput * @return * @throws Exception */ private DistributedAlgorithmOutput run(DistributedAlgorithmInput pGridInput) throws Exception { // submit job JobClient job = submitJob(targetSystem); // stage in input files StorageClient smsUspace = job.getUspaceClient(); submitInputFiles(smsUspace, pGridInput); // stage in execution script submitExecutionScript(smsUspace); // run job LOGGER.info("Run job."); job.waitUntilReady(WAIT_UNTIL_READY_TIMEOUT); job.start(); job.waitUntilDone(WAIT_UNTIL_DONE_TIMEOUT); // fetch process outcome DistributedAlgorithmOutput processOutput = getAlgorithmOutput(smsUspace); // destroy job at target system job.destroy(); return processOutput; }
protected JobClient submitJob(final TSSClient tss) throws Exception { // create job definition document LOGGER.info("Create job definition document."); JobDefinitionDocument definition = getJobDefinition(); // submit job definition document LOGGER.info("Submit job definition document."); SubmitDocument submit = SubmitDocument.Factory.newInstance(); submit.addNewSubmit().setJobDefinition(definition.getJobDefinition()); SubmitResponseDocument response = tss.Submit(submit); // create job client EndpointReferenceType jobEpr = response.getSubmitResponse().getJobReference(); LOGGER.info("Create job at '" + jobEpr.getAddress().getStringValue() + "'."); return new JobClient(jobEpr.getAddress().getStringValue(), jobEpr, securityProperties); }
/** * @param tss * @param tc * @return * @throws Exception */ private JobClient submitJob(final TSSClient tss) throws Exception { // create job definition document LOGGER.info("Create job definition document."); JobDefinitionDocument definition = getJobDefinition(); // submit job definition document LOGGER.info("Submit job definition document."); SubmitDocument submit = SubmitDocument.Factory.newInstance(); submit.addNewSubmit().setJobDefinition(definition.getJobDefinition()); SubmitResponseDocument response = tss.Submit(submit); // create job client EndpointReferenceType jobEpr = response.getSubmitResponse().getJobReference(); LOGGER.info("Create job at '" + jobEpr.getAddress().getStringValue() + "'."); return new JobClient(jobEpr.getAddress().getStringValue(), jobEpr, securityProperties); }
public Object call() throws Exception { // submit job JobClient job = submitJob(targetSystem); // stage in input data StorageClient smsUspace = job.getUspaceClient(); submitInputData(smsUspace, inputData); // stage in configuration submitWpsConfiguration(smsUspace); // stage in execution script submitExecutionScript(smsUspace); // run job LOGGER.info("Run job."); job.waitUntilReady(WAIT_UNTIL_READY_TIMEOUT); job.start(); job.waitUntilDone(WAIT_UNTIL_DONE_TIMEOUT); // fetch process outcome UnicoreAlgorithmOutput processOutput = fetchOutputData(smsUspace); // destroy job at target system job.destroy(); IAlgorithm alg = new org.n52.wps.server.algorithm.SimpleBufferAlgorithm(); return new UnicoreAlgorithmOutput(alg.run(inputData.getData())); }