|  | @@ -191,10 +191,18 @@ class State(object):
 | 
	
		
			
				|  |  |                                 "task": self.task_event}
 | 
	
		
			
				|  |  |          self._resource = RLock()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def clear(self):
 | 
	
		
			
				|  |  | +    def clear_tasks(self, ready=True):
 | 
	
		
			
				|  |  | +        if ready:
 | 
	
		
			
				|  |  | +            self.tasks = dict((uuid, task)
 | 
	
		
			
				|  |  | +                                for uuid, task in self.tasks.items()
 | 
	
		
			
				|  |  | +                                    if task.state not in states.READY_STATES)
 | 
	
		
			
				|  |  | +        else:
 | 
	
		
			
				|  |  | +            self.tasks.clear()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def clear(self, ready=True):
 | 
	
		
			
				|  |  |          try:
 | 
	
		
			
				|  |  |              self.workers.clear()
 | 
	
		
			
				|  |  | -            self.tasks.clear()
 | 
	
		
			
				|  |  | +            self.clear_tasks(ready)
 | 
	
		
			
				|  |  |              self.event_count = 0
 | 
	
		
			
				|  |  |              self.task_count = 0
 | 
	
		
			
				|  |  |          finally:
 |