From 7b779a07bc1815d71534d4d9fb4d5d59eff912ff Mon Sep 17 00:00:00 2001 From: Sasha Sherstnev Date: Tue, 21 Jan 2014 09:39:44 +0000 Subject: [PATCH] Add delay for reading new jobs --- datadb/compbio/cassandra/JpredParserHTTP.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/datadb/compbio/cassandra/JpredParserHTTP.java b/datadb/compbio/cassandra/JpredParserHTTP.java index 825689e..b84ddfd 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"; @@ -136,6 +139,14 @@ public class JpredParserHTTP implements JpredParser { 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()) { @@ -162,6 +173,7 @@ public class JpredParserHTTP implements JpredParser { 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; -- 1.7.10.2