From 168e61b2f84c240640f8556b6bea4572c8d47f1d 2011-04-08 00:38:10 From: MinRK Date: 2011-04-08 00:38:10 Subject: [PATCH] add all completed task IDs to Scheduler.all_done --- diff --git a/IPython/zmq/parallel/dependency.py b/IPython/zmq/parallel/dependency.py index f07dc2f..a5c2fcc 100644 --- a/IPython/zmq/parallel/dependency.py +++ b/IPython/zmq/parallel/dependency.py @@ -80,15 +80,11 @@ class Dependency(set): if len(self) == 0: return True if self.mode == 'all': - for dep in self: - if dep not in completed: - return False - return True + return self.issubset(completed) elif self.mode == 'any': - for com in completed: - if com in self.dependencies: - return True - return False + return not self.isdisjoint(completed) + else: + raise NotImplementedError("Only any|all supported, not %r"%mode) def as_dict(self): """Represent this dependency as a dict. For json compatibility.""" diff --git a/IPython/zmq/parallel/scheduler.py b/IPython/zmq/parallel/scheduler.py index 7adb023..87b333a 100644 --- a/IPython/zmq/parallel/scheduler.py +++ b/IPython/zmq/parallel/scheduler.py @@ -30,9 +30,9 @@ from IPython.external.decorator import decorator @decorator def logged(f,self,*args,**kwargs): - # print ("#--------------------") - # print ("%s(*%s,**%s)"%(f.func_name, args, kwargs)) - # print ("#--") + print ("#--------------------") + print ("%s(*%s,**%s)"%(f.func_name, args, kwargs)) + print ("#--") return f(self,*args, **kwargs) #---------------------------------------------------------------------- @@ -340,6 +340,7 @@ class TaskScheduler(object): msg_id = parent['msg_id'] self.pending[engine].pop(msg_id) self.completed[engine].add(msg_id) + self.all_done.add(msg_id) self.update_dependencies(msg_id)