use of org.ow2.proactive.scheduler.common.job.JobId in project scheduling by ow2-proactive.
the class SchedulerTHelper method removeJob.
/**
* Remove a job from Scheduler database.
* connect as user if needed (if not yet connected as user).
* @param id of the job to remove from database.
* @throws Exception if an error occurs at job removal.
*/
public void removeJob(JobId id) throws Exception {
Scheduler userInt = getSchedulerInterface();
userInt.removeJob(id);
}
use of org.ow2.proactive.scheduler.common.job.JobId in project scheduling by ow2-proactive.
the class SchedulerTHelper method submitJob.
public JobId submitJob(String jobDescPath) throws Exception {
Job jobToSubmit = JobFactory.getFactory().createJob(jobDescPath);
Scheduler userInt = getSchedulerInterface();
return userInt.submit(jobToSubmit);
}
use of org.ow2.proactive.scheduler.common.job.JobId in project scheduling by ow2-proactive.
the class TestGenericInformation method testWithReplication.
public void testWithReplication() throws Throwable {
JobId jobId = schedulerHelper.submitJob(createJobWithReplication());
SchedulerTHelper.log("Job submitted, id " + jobId.toString());
schedulerHelper.waitForEventJobFinished(jobId);
Scheduler scheduler = schedulerHelper.getSchedulerInterface();
JobState js = scheduler.getJobState(jobId);
for (TaskState taskState : js.getTasks()) {
checkTaskState(taskState);
}
}
use of org.ow2.proactive.scheduler.common.job.JobId in project scheduling by ow2-proactive.
the class TestTaskIdOrderSameAsDeclarationOrder method task_ids_should_be_ordered_as_task_declaration_order.
@Test
public void task_ids_should_be_ordered_as_task_declaration_order() throws Throwable {
TaskFlowJob job = (TaskFlowJob) StaxJobFactory.getFactory().createJob(new File(jobDescriptor.toURI()).getAbsolutePath());
JobId id = schedulerHelper.submitJob(job);
JobState jobState = schedulerHelper.waitForEventJobSubmitted(id);
List<TaskState> sortedTasksById = sortTasksById(jobState);
assertEquals("premiere", sortedTasksById.get(0).getName());
assertEquals("deuxieme", sortedTasksById.get(1).getName());
assertEquals("troisieme", sortedTasksById.get(2).getName());
// remove job
schedulerHelper.waitForEventJobFinished(id);
schedulerHelper.removeJob(id);
schedulerHelper.waitForEventJobRemoved(id);
}
use of org.ow2.proactive.scheduler.common.job.JobId in project scheduling by ow2-proactive.
the class TestJobNativeSubmission method testJobNativeSubmission.
@Test
public void testJobNativeSubmission() throws Throwable {
// test submission and event reception
TaskFlowJob job = new TaskFlowJob();
NativeTask successfulTask = new NativeTask();
successfulTask.setName("successfulTask");
if (OperatingSystem.getOperatingSystem() == OperatingSystem.windows) {
successfulTask.setCommandLine("cmd", "/C", "ping 127.0.0.1 -n 10", ">", "NUL");
} else {
successfulTask.setCommandLine("ping", "-c", "5", "127.0.0.1");
}
job.addTask(successfulTask);
NativeTask invalidCommandTask = new NativeTask();
invalidCommandTask.setName("invalidCommandTask");
invalidCommandTask.addDependence(successfulTask);
invalidCommandTask.setCommandLine("invalid_command");
job.addTask(invalidCommandTask);
// SCHEDULING-1987
NativeTask taskReadingInput = new NativeTask();
taskReadingInput.setName("taskReadingInput");
if (OperatingSystem.getOperatingSystem() == OperatingSystem.windows) {
// wait for y/n
taskReadingInput.setCommandLine("choice");
} else {
// cat hangs for user's input
taskReadingInput.setCommandLine("cat");
}
job.addTask(taskReadingInput);
JobId id = schedulerHelper.submitJob(job);
log("Job submitted, id " + id.toString());
log("Waiting for jobSubmitted Event");
JobState receivedState = schedulerHelper.waitForEventJobSubmitted(id);
assertEquals(receivedState.getId(), id);
log("Waiting for job running");
JobInfo jInfo = schedulerHelper.waitForEventJobRunning(id);
assertEquals(jInfo.getJobId(), id);
assertEquals(JobStatus.RUNNING, jInfo.getStatus());
schedulerHelper.waitForEventTaskRunning(id, successfulTask.getName());
TaskInfo tInfo = schedulerHelper.waitForEventTaskFinished(id, successfulTask.getName());
assertEquals(TaskStatus.FINISHED, tInfo.getStatus());
schedulerHelper.waitForEventTaskRunning(id, invalidCommandTask.getName());
tInfo = schedulerHelper.waitForEventTaskFinished(id, invalidCommandTask.getName());
assertEquals(TaskStatus.FAULTY, tInfo.getStatus());
TaskInfo taskReadingInputInfo = schedulerHelper.waitForEventTaskFinished(id, taskReadingInput.getName());
if (OperatingSystem.getOperatingSystem() == OperatingSystem.windows) {
// choice fails when input is closed
assertEquals(TaskStatus.FAULTY, taskReadingInputInfo.getStatus());
} else {
assertEquals(TaskStatus.FINISHED, taskReadingInputInfo.getStatus());
}
schedulerHelper.waitForEventJobFinished(id);
// remove job
schedulerHelper.removeJob(id);
schedulerHelper.waitForEventJobRemoved(id);
}
Aggregations