ecological-engine-smart-exe.../src/main/java/org/gcube/dataanalysis/executor/job/management/WorkerWatcher.java

38 lines
879 B
Java

package org.gcube.dataanalysis.executor.job.management;
import org.apache.log4j.Logger;
import org.gcube.vremanagement.executor.stubs.TaskProxy;
public class WorkerWatcher {
private static int maxTries = 15;
private int currentTries;
private static String runningState = "RUNNING";
private static String failedState = "FAILED";
Logger logger;
TaskProxy proxy;
public WorkerWatcher(TaskProxy proxy, Logger logger){
this.proxy = proxy;
this.logger = logger;
currentTries = 1;
}
public String getState(){
String state ="";
try{
proxy.synchronize();
state = proxy.getState();
return state;
}catch(Exception e){
logger.error("Error in getting state: recover try number "+currentTries,e);
currentTries++;
if (currentTries>maxTries){
return failedState;
}
else return runningState;
}
}
}