Changeset 1548 for DCWoRMS/branches
- Timestamp:
- 02/12/15 13:16:07 (10 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistry.java
r1362 r1548 6 6 7 7 import dcworms.schedframe.scheduling.ExecTask; 8 9 8 import schedframe.ExecutablesList; 10 9 import schedframe.resources.units.ResourceUnit; … … 32 31 public List<ExecTask> getTasks(int status); 33 32 33 public List<ExecTask> getTasks(List<Integer> statusList, boolean match); 34 34 35 public List<ExecTask> getQueuedTasks(); 35 36 -
DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java
r1452 r1548 4 4 5 5 import java.util.ArrayList; 6 import java.util.Arrays; 6 7 import java.util.List; 7 8 import java.util.Set; … … 92 93 93 94 return taskList; 94 } 95 95 //return getTasks(Arrays.asList(status), true); 96 } 97 98 public List<ExecTask> getTasks(List<Integer> statusList, boolean match) { 99 List<ExecTask> taskList = new ArrayList<ExecTask>(); 100 synchronized (executables) { 101 for (ExecTask task: executables) { 102 for(int status: statusList){ 103 if (compareStatus(task.getStatus(), status, match)) { 104 if(cr != null){ 105 if(!task.getAllocatedResources().isEmpty()){ 106 Set<ComputingResource> visitedResource = task.getAllocatedResources().getLast().getResources(); 107 if(visitedResource.contains(cr)){ 108 taskList.add(task); 109 } else { 110 for(ComputingResource res: visitedResource){ 111 if(cr.contains(res)){ 112 taskList.add(task); 113 break; 114 } 115 } 116 } 117 } 118 } else { 119 if(!task.getAllocatedResources().isEmpty()){ 120 Set<String> visitedResource = task.getAllocatedResources().getLast().getResourceNames(); 121 for(String res: visitedResource){ 122 if(res.equals(context) || res.substring(0, res.lastIndexOf("/")).contains(context)){ 123 taskList.add(task); 124 break; 125 } 126 } 127 } 128 129 if(task.getSchedulerName().equals(context)) { 130 taskList.add(task); 131 } 132 } 133 } 134 } 135 } 136 } 137 138 return taskList; 139 } 140 141 private boolean compareStatus(int taskStatus, int status, boolean match){ 142 if(match){ 143 if(taskStatus == status) 144 return true; 145 } else { 146 if(taskStatus !=status) 147 return true; 148 } 149 return false; 150 } 151 96 152 public List<ExecTask> getQueuedTasks() { 97 153 return getTasks(DCWormsTags.QUEUED);
Note: See TracChangeset
for help on using the changeset viewer.