X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FJpredParserHTTP.java;h=c6db457b9ba55ddddfa43afce42da0d09c76770c;hb=14b57e897b0cd604d4f3735244d87ce7de9e6d2a;hp=1d888e45404c8e9e5d5eb3286c9a751c01e9cfd4;hpb=db09514e58b52d44ef52d7c4591924a762c99c4b;p=proteocache.git diff --git a/datadb/compbio/cassandra/JpredParserHTTP.java b/datadb/compbio/cassandra/JpredParserHTTP.java index 1d888e4..c6db457 100644 --- a/datadb/compbio/cassandra/JpredParserHTTP.java +++ b/datadb/compbio/cassandra/JpredParserHTTP.java @@ -9,6 +9,8 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -35,6 +37,7 @@ public class JpredParserHTTP implements JpredParser { private int countNoData; private static boolean archiving = false; private static final PropertyHelper ph = ProteoCachePropertyHelperManager.getPropertyHelper(); + static SimpleDateFormat timeformatter = new SimpleDateFormat("yyyy/MM/dd:H:m:s"); public JpredParserHTTP() { dirprefix = "http://www.compbio.dundee.ac.uk/www-jpred/results"; @@ -115,7 +118,7 @@ public class JpredParserHTTP implements JpredParser { if (null != (out = buffer.readLine()) && (out.contains("version"))) { Matcher matcher = Pattern.compile("((\\d|\\.)+)").matcher(out); if (matcher.find()) - job.setVersion(matcher.group(0)); + job.setProgramVersion(matcher.group(0)); } while (null != (line = buffer.readLine())) { out += line; @@ -131,10 +134,20 @@ public class JpredParserHTTP implements JpredParser { boolean LogfileExists = false; JpredJob job = new JpredJob(jobinfo[jobinfo.length - 1], jobinfo[0], jobinfo[1]); job.setIP(jobinfo[2]); + job.setProgramName("Jpred"); + job.setProgramVersion("3.0.1"); Date currDate = new Date(); String maindir = dirprefix + "/" + job.getJobID() + "/"; try { + Date finishTime = timeformatter.parse(jobinfo[1]); + long delay = currDate.getTime() / 1000 - finishTime.getTime() / 1000; + if (delay < 120) return 0; + } catch (ParseException e) { + e.printStackTrace(); + } + + try { URL dirurl = new URL(maindir); HttpURLConnection httpConnection_dirurl = (HttpURLConnection) dirurl.openConnection(); if (httpConnection_dirurl.getResponseCode() < 199 || 300 <= httpConnection_dirurl.getResponseCode()) { @@ -158,10 +171,10 @@ public class JpredParserHTTP implements JpredParser { } if (199 < httpConnection_logurl.getResponseCode() && httpConnection_logurl.getResponseCode() < 300) { LogfileExists = true; - job.setProgrammeName("Jpred"); job.setLog(parseLogFile(logurl.openStream(), job)); } else { // The job has not been started at all... + System.out.println ("WARNING! Job " + job.getJobID() + " has status FAIL/STOPPED"); job.setExecutionStatus("FAIL"); job.setFinalStatus("STOPPED"); running = false;