Ask Solem 12 rokov pred
rodič
commit
fc3804cb12
1 zmenil súbory, kde vykonal 6 pridanie a 7 odobranie
  1. 6 7
      celery/app/builtins.py

+ 6 - 7
celery/app/builtins.py

@@ -245,13 +245,12 @@ def add_chain_task(app):
             tasks[0].apply_async()
             tasks[0].apply_async()
             return result
             return result
 
 
-        def apply(self, args=(), kwargs={}, **options):
+        def apply(self, args=(), kwargs={}, subtask=maybe_subtask, **options):
-            tasks = [maybe_subtask(task).clone() for task in kwargs['tasks']]
+            last, fargs = None, args  # fargs passed to first task only
-            res = prev = None
+            for task in kwargs['tasks']:
-            for task in tasks:
+                res = subtask(task).clone(fargs).apply(last and (last.get(), ))
-                res = task.apply((prev.get(), ) if prev else ())
+                res.parent, last, fargs = last, res, None
-                res.parent, prev = prev, res
+            return last
-            return res
     return Chain
     return Chain