LOG.info("Waiting for tasks to finish...");
state = JobState.RUNNING;
int completed = 0;
while (completed != numBSPTasks) {
for (BSPTaskLauncher task : completionQueue) {
BSPTaskStatus returnedTask = task.poll();
// if our task returned with a finished state
if (returnedTask != null) {
if (returnedTask.getExitStatus() != 0) {
LOG.error("Task with id \"" + returnedTask.getId() + "\" failed!");
state = JobState.FAILED;
return state;
} else {
LOG.info("Task \"" + returnedTask.getId()
+ "\" sucessfully finished!");
completed++;
LOG.info("Waiting for " + (numBSPTasks - completed)
+ " tasks to finish!");
}
cleanupTask(returnedTask.getId());
}
}
Thread.sleep(1000L);
}