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();