Browse Source

Chord: Chords containing groups with iterators now work.

regen does not work with dequeue(regen(it)), as deque seems
to use some C magic instead of __iter__ for copying the list,
so the iterator ends up being consumed.
Ask Solem 9 years ago
parent
commit
1de0d5d5ae
1 changed files with 1 additions and 1 deletions
  1. 1 1
      celery/canvas.py

+ 1 - 1
celery/canvas.py

@@ -939,7 +939,7 @@ class chord(Signature):
         )
 
     def _traverse_tasks(self, tasks, value=None):
-        stack = deque(tasks)
+        stack = deque(list(tasks))
         while stack:
             task = stack.popleft()
             if isinstance(task, group):