Ignore:
Timestamp:
06/23/14 16:57:26 (11 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/schedframe/resources/units/ProcessingElements.java

    r1384 r1392  
    1010import schedframe.resources.ResourceType; 
    1111import schedframe.resources.computing.ComputingResource; 
     12import schedframe.scheduling.manager.tasks.JobRegistryImpl; 
    1213 
    1314public class ProcessingElements extends PEUnit implements List<ComputingResource> { 
     
    215216                //allocate resources 
    216217                if(delta > 0){ 
    217                                 for(int i = 0; i < this.resources.size() && delta > 0; i++){ 
    218                                         ComputingResource r = this.resources.get(i); 
    219                                         if(r.getStatus() == ResourceStatus.FREE || r.getStatus() == ResourceStatus.PENDING){ 
    220                                                 r.setStatus(ResourceStatus.BUSY); 
    221                                                 delta--; 
    222                                         } 
     218                        for(int i = 0; i < this.resources.size() && delta > 0; i++){ 
     219                                ComputingResource r = this.resources.get(i); 
     220                                if(r.getStatus() == ResourceStatus.FREE || r.getStatus() == ResourceStatus.PENDING){ 
     221                                        r.setStatus(ResourceStatus.BUSY); 
     222                                        delta--; 
    223223                                } 
     224                        } 
    224225                } 
    225226                //free resources 
     
    228229                                ComputingResource r = this.resources.get(i); 
    229230                                if(r.getStatus() == ResourceStatus.BUSY){ 
    230                                         r.setStatus(ResourceStatus.FREE); 
    231                                         delta++; 
     231                                        if(new JobRegistryImpl(r.getFullName()).getRunningTasks().size() == 0){ 
     232                                                r.setStatus(ResourceStatus.FREE); 
     233                                                delta++;         
     234                                        } 
    232235                                } 
    233236                        } 
Note: See TracChangeset for help on using the changeset viewer.