use of org.ow2.proactive.scheduler.common.job.Job in project scheduling by ow2-proactive.
the class KillJobCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
boolean success = scheduler.killJob(currentContext.getSessionId(), jobId);
resultStack(currentContext).push(success);
if (success) {
writeLine(currentContext, "%s successfully killed.", job());
} else {
writeLine(currentContext, "Cannot kill %s:", job());
}
} catch (Exception e) {
handleError(String.format("An error occurred while attempting to kill %s:", job()), e, currentContext);
}
}
use of org.ow2.proactive.scheduler.common.job.Job in project scheduling by ow2-proactive.
the class ListJobTasksCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
List<String> tasks = null;
if (this.tag != null) {
if (this.limit == 0) {
tasks = scheduler.getJobTasksIdsByTag(currentContext.getSessionId(), jobId, tag).getList();
} else {
tasks = scheduler.getJobTasksIdsByTagPaginated(currentContext.getSessionId(), jobId, tag, offset, limit).getList();
}
} else {
if (this.limit == 0) {
tasks = scheduler.getTasksNames(currentContext.getSessionId(), jobId).getList();
} else {
tasks = scheduler.getTasksNamesPaginated(currentContext.getSessionId(), jobId, offset, limit).getList();
}
}
resultStack(currentContext).push(tasks);
if (!currentContext.isSilent()) {
writeLine(currentContext, "%s", tasks);
}
} catch (Exception e) {
String message = null;
if (this.tag == null) {
message = String.format("An error occurred while retrieving %s tasks:", job());
} else {
message = String.format("An error occurred while retrieving %s tasks filtered by tag %s:", job(), tag);
}
handleError(message, e, currentContext);
}
}
use of org.ow2.proactive.scheduler.common.job.Job in project scheduling by ow2-proactive.
the class ResumeAllPausedTasksCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
boolean result = scheduler.resumeJob(currentContext.getSessionId(), jobId);
handleResult(currentContext, result);
} catch (Exception e) {
handleError(String.format("An error occurred while attempting to resume all paused tasks for %s:", job()), e, currentContext);
}
}
use of org.ow2.proactive.scheduler.common.job.Job in project scheduling by ow2-proactive.
the class ResumeJobCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
writeDeprecation(currentContext, CommandSet.JOB_RESUME_ALL_PAUSED_TASKS);
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
boolean success = scheduler.resumeJob(currentContext.getSessionId(), jobId);
resultStack(currentContext).push(success);
if (success) {
writeLine(currentContext, "%s resumed successfully.", job());
} else {
writeLine(currentContext, "Cannot resume %s.", job());
}
} catch (Exception e) {
handleError(String.format("An error occurred while attempting to resume: %s", job()), e, currentContext);
}
}
use of org.ow2.proactive.scheduler.common.job.Job in project scheduling by ow2-proactive.
the class AbstractFunctCmdTest method cleanScheduler.
protected void cleanScheduler() throws NotConnectedException, PermissionException, UnknownJobException {
scheduler = RestFuncTHelper.getScheduler();
SchedulerState state = scheduler.getState();
System.out.println("Cleaning scheduler.");
List<JobState> aliveJobsStates = new ArrayList<>(state.getPendingJobs().size() + state.getRunningJobs().size());
aliveJobsStates.addAll(state.getPendingJobs());
aliveJobsStates.addAll(state.getRunningJobs());
List<JobState> finishedJobsStates = new ArrayList<>(state.getFinishedJobs().size());
finishedJobsStates.addAll(state.getFinishedJobs());
for (JobState jobState : aliveJobsStates) {
JobId jobId = jobState.getId();
try {
System.out.println("Killing job " + jobId);
scheduler.killJob(jobId);
} catch (Exception ignored) {
}
System.out.println("Removing killed job " + jobId);
scheduler.removeJob(jobId);
}
for (JobState jobState : finishedJobsStates) {
JobId jobId = jobState.getId();
System.out.println("Removing finished job " + jobId);
scheduler.removeJob(jobId);
}
}
Aggregations