use of org.ow2.proactive.scheduler.common.task.TaskId in project scheduling by ow2-proactive.
the class SchedulerFrontend method getTaskIds.
@Override
public Page<TaskId> getTaskIds(String taskTag, long from, long to, boolean mytasks, boolean running, boolean pending, boolean finished, int offset, int limit) throws NotConnectedException, PermissionException {
RestPageParameters params = new RestPageParameters(frontendState, "getTaskIds", from, to, mytasks, running, pending, finished, offset, limit, taskTag, SortSpecifierContainer.EMPTY_CONTAINER);
Page<TaskInfo> pTaskInfo;
pTaskInfo = dbManager.getTasks(params.getFrom(), params.getTo(), params.getTag(), params.getOffset(), params.getLimit(), params.getUserName(), params.isPending(), params.isRunning(), params.isFinished());
List<TaskId> lTaskId = new ArrayList<TaskId>(pTaskInfo.getList().size());
for (TaskInfo taskInfo : pTaskInfo.getList()) {
lTaskId.add(taskInfo.getTaskId());
}
return new Page<TaskId>(lTaskId, pTaskInfo.getSize());
}
use of org.ow2.proactive.scheduler.common.task.TaskId in project scheduling by ow2-proactive.
the class SchedulerFrontend method getTaskServerLogs.
@Override
@ImmediateService
public String getTaskServerLogs(String jobId, String taskName) throws UnknownJobException, UnknownTaskException, NotConnectedException, PermissionException {
JobId id = JobIdImpl.makeJobId(jobId);
frontendState.checkPermissions("getTaskServerLogs", frontendState.getIdentifiedJob(id), YOU_DO_NOT_HAVE_PERMISSION_TO_GET_THE_TASK_LOGS_OF_THIS_JOB);
for (TaskId taskId : frontendState.getJobTasks(id)) {
if (taskId.getReadableName().equals(taskName)) {
return ServerJobAndTaskLogs.getTaskLog(taskId);
}
}
throw new UnknownTaskException("Unknown task " + taskName + " in job " + jobId);
}
use of org.ow2.proactive.scheduler.common.task.TaskId in project scheduling by ow2-proactive.
the class TestTaskIdImpl method testGetReplicationIndex.
@Test
public void testGetReplicationIndex() throws Exception {
TaskId taskNoReplicationIndex = TaskIdImpl.createTaskId(new JobIdImpl(1L, "job"), "task", 1);
TaskId taskReplicationIndexSmallerThan9 = TaskIdImpl.createTaskId(new JobIdImpl(1L, "job"), "task*1", 1);
TaskId taskReplicationIndexGreaterThan9 = TaskIdImpl.createTaskId(new JobIdImpl(1L, "job"), "task*10", 1);
TaskId taskReplicatedAndIterated = TaskIdImpl.createTaskId(new JobIdImpl(1L, "job"), "task#10*10", 1);
assertEquals(0, taskNoReplicationIndex.getReplicationIndex());
assertEquals(1, taskReplicationIndexSmallerThan9.getReplicationIndex());
assertEquals(10, taskReplicationIndexGreaterThan9.getReplicationIndex());
assertEquals(10, taskReplicatedAndIterated.getReplicationIndex());
}
use of org.ow2.proactive.scheduler.common.task.TaskId in project scheduling by ow2-proactive.
the class ClientJobState method update.
@Override
public void update(JobInfo info) {
if (!getId().equals(info.getJobId())) {
throw new IllegalArgumentException("This job info is not applicable for this job. (expected id is '" + getId() + "' but was '" + info.getJobId() + "'");
}
// update job info
this.jobInfo = new JobInfoImpl((JobInfoImpl) info);
// update skipped tasks
if (this.jobInfo.getTasksSkipped() != null) {
for (TaskId id : tasks.keySet()) {
if (this.jobInfo.getTasksSkipped().contains(id)) {
TaskInfoImpl taskInfo = (TaskInfoImpl) tasks.get(id).getTaskInfo();
taskInfo.setStatus(TaskStatus.SKIPPED);
}
}
}
// additions and modifications can be caused by control flow actions
if (this.jobInfo.getModifiedTasks() != null) {
addTasks(this.jobInfo.getModifiedTasks());
}
}
use of org.ow2.proactive.scheduler.common.task.TaskId in project scheduling by ow2-proactive.
the class JobInfoImpl method setTasksChanges.
public void setTasksChanges(ChangedTasksInfo changesInfo, JobState job) {
this.modifiedTasks = new ArrayList<>(changesInfo.getNewTasks().size() + changesInfo.getUpdatedTasks().size());
for (TaskId id : changesInfo.getNewTasks()) {
modifiedTasks.add(new ClientTaskState(job.getHMTasks().get(id)));
}
for (TaskId id : changesInfo.getUpdatedTasks()) {
modifiedTasks.add(new ClientTaskState(job.getHMTasks().get(id)));
}
this.tasksSkipped = new HashSet<>(changesInfo.getSkippedTasks());
}
Aggregations