X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FMsaWSThread.java;h=8f33ec68d6b18dd08a888b69bdd9316207ad49e9;hb=a8f483d04205bb8273ee311c12968b7e86d205fa;hp=6ef07c60ec98ffdf2d597386d7dad3ee99a5281d;hpb=a883b8a87fe965a1d04f67b6f82c985b0b2c8605;p=jalview.git diff --git a/src/jalview/ws/jws2/MsaWSThread.java b/src/jalview/ws/jws2/MsaWSThread.java index 6ef07c6..8f33ec6 100644 --- a/src/jalview/ws/jws2/MsaWSThread.java +++ b/src/jalview/ws/jws2/MsaWSThread.java @@ -1,27 +1,26 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws.jws2; import java.util.*; import compbio.data.msa.MsaWS; -import compbio.data.sequence.AlignmentMetadata; -import compbio.data.sequence.Program; import compbio.metadata.Argument; import compbio.metadata.ChunkHolder; import compbio.metadata.JobStatus; @@ -546,6 +545,11 @@ class MsaWSThread extends AWS2Thread implements WSClientI } wsInfo.setProgressText(jobs[job].getJobnum(), OutputHeader + cancelledMessage + "\n"); + } else { + // if we hadn't submitted then just mark the job as cancelled. + jobs[job].setSubjobComplete(true); + wsInfo.setStatus(jobs[job].getJobnum(), WebserviceInfo.STATE_CANCELLED_OK); + } } if (cancelled) @@ -586,7 +590,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI { StringBuffer response = j.jobProgress; long lastchunk = j.getLastChunk(); - boolean changed=false; + boolean changed = false; do { j.setLastChunk(lastchunk); @@ -594,12 +598,16 @@ class MsaWSThread extends AWS2Thread implements WSClientI .pullExecStatistics(j.getJobId(), lastchunk); if (chunk != null) { - changed|=chunk.getChunk().length()>0; + changed |= chunk.getChunk().length() > 0; response.append(chunk.getChunk()); lastchunk = chunk.getNextPosition(); - try { + try + { Thread.sleep(50); - } catch (InterruptedException x){}; + } catch (InterruptedException x) + { + } + ; } ; } while (lastchunk >= 0 && j.getLastChunk() != lastchunk); @@ -643,7 +651,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI } else if (j.hasArguments()) { - j.setJobId(server.customAlign(j.seqs,j.getJabaArguments())); + j.setJobId(server.customAlign(j.seqs, j.getJabaArguments())); } else { @@ -729,7 +737,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI public void parseResult() { - long progbar=System.currentTimeMillis(); + long progbar = System.currentTimeMillis(); wsInfo.setProgressBar("Collecting job results.", progbar); int results = 0; // number of result sets received JobStateSummary finalState = new JobStateSummary(); @@ -740,42 +748,45 @@ class MsaWSThread extends AWS2Thread implements WSClientI MsaWSJob msjob = ((MsaWSJob) jobs[j]); if (jobs[j].isFinished() && msjob.alignment == null) { - int nunchanged=3,nexcept=3; - boolean jpchanged=false,jpex=false; - do { + int nunchanged = 3, nexcept = 3; + boolean jpchanged = false, jpex = false; + do + { try { jpchanged = updateJobProgress(msjob); - jpex=false; - if (jpchanged) { - nexcept=3; + jpex = false; + if (jpchanged) + { + nexcept = 3; } } catch (Exception e) { - + Cache.log .warn("Exception when retrieving remaining Job progress data for job " + msjob.getJobId() + " on server " + WsUrl); e.printStackTrace(); nexcept--; - nunchanged=3; + nunchanged = 3; // set flag remember that we've had an exception. - jpex=true; - jpchanged=false; + jpex = true; + jpchanged = false; } if (!jpchanged) { try { - Thread.sleep(jpex ? 2400 : 1200); // wait a bit longer if we experienced an exception. + Thread.sleep(jpex ? 2400 : 1200); // wait a bit longer if we + // experienced an exception. } catch (Exception ex) { } ; nunchanged--; - } - } while (nunchanged>0 && nexcept>0); - + } + } while (nunchanged > 0 && nexcept > 0); + if (Cache.log.isDebugEnabled()) { System.out.println("Job Execution file for job: "