diff --git a/pom.xml b/pom.xml index 2b7bd0b..fbd1c00 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 21 21 - 4.2 + 4.5-SNAPSHOT 3.3-SNAPSHOT 1.1 1.5 @@ -95,16 +95,7 @@ 2.1.2 runtime - - com.fasterxml.jackson.core - jackson-databind - 2.18.0 - - - javax.annotation - javax.annotation-api - 1.3.2 - + org.junit.jupiter junit-jupiter diff --git a/src/main/java/fr/insalyon/creatis/moteurlite/gasw/Monitor.java b/src/main/java/fr/insalyon/creatis/moteurlite/gasw/Monitor.java index 1376d71..f4a8698 100644 --- a/src/main/java/fr/insalyon/creatis/moteurlite/gasw/Monitor.java +++ b/src/main/java/fr/insalyon/creatis/moteurlite/gasw/Monitor.java @@ -10,6 +10,7 @@ import fr.insalyon.creatis.moteurlite.workflowsdb.WorkflowsDBRepository; import fr.insalyon.creatis.gasw.Gasw; +import fr.insalyon.creatis.gasw.GaswLauncher; import fr.insalyon.creatis.gasw.GaswException; import fr.insalyon.creatis.gasw.GaswExitCode; import fr.insalyon.creatis.gasw.GaswOutput; @@ -45,16 +46,11 @@ public void run() { List finishedJobs = gasw.getFinishedJobs(); logger.info("Number of finished jobs: " + finishedJobs.size()); - - if (finishedJobs.isEmpty()) { - continue; - } else { - try { - processFinishedJobs(finishedJobs); - workflowsDbRepository.persistProcessors(workflowId, applicationName, numberOfInvocations - finishedJobsNumber, successfulJobsNumber, failedJobsNumber); - } catch (MoteurLiteException e) { - logger.error("Error while persisting processors during processing: ", e); - } + try { + processFinishedJobs(finishedJobs); + workflowsDbRepository.persistProcessors(workflowId, applicationName, numberOfInvocations - finishedJobsNumber, successfulJobsNumber, failedJobsNumber); + } catch (MoteurLiteException e) { + logger.error("Error while persisting processors during processing: ", e); } } catch (InterruptedException e) { terminate(true); @@ -65,7 +61,6 @@ public void run() { } private synchronized void waitForGasw() throws InterruptedException { - gasw.waitForNotification(); wait(); } @@ -104,7 +99,7 @@ private void terminate(boolean killed) { } workflowsDbRepository.persistWorkflow(workflowId, finalStatus); - gasw.terminate(killed); + GaswLauncher.stop(killed); logger.info("workflow finished with status {}", finalStatus.name()); } catch (GaswException e) { logger.error("Error while terminating Gasw: ", e); diff --git a/src/main/java/fr/insalyon/creatis/moteurlite/runner/MoteurLiteRunner.java b/src/main/java/fr/insalyon/creatis/moteurlite/runner/MoteurLiteRunner.java index f0147a4..eb1d7ec 100644 --- a/src/main/java/fr/insalyon/creatis/moteurlite/runner/MoteurLiteRunner.java +++ b/src/main/java/fr/insalyon/creatis/moteurlite/runner/MoteurLiteRunner.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Map; +import fr.insalyon.creatis.gasw.GaswLauncher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -122,7 +123,7 @@ public void run(String workflowId, String boutiquesFilePath, String inputsFilePa private void initGaswAndMonitor(String workflowId, String descriptorName, int numberOfInvocations) throws MoteurLiteException { try { - gasw = Gasw.getInstance(); + gasw = GaswLauncher.start(); monitor = new Monitor(gasw, workflowsDBRepo, workflowId, descriptorName, numberOfInvocations); gasw.setNotificationClient(monitor); monitor.start();