Selaa lähdekoodia

Merge branch 'master' of github.com:celery/celery

Ask Solem 8 vuotta sitten
vanhempi
commit
0fcc052c3e
2 muutettua tiedostoa jossa 8 lisäystä ja 2 poistoa
  1. 2 2
      celery/canvas.py
  2. 6 0
      celery/tests/app/test_builtins.py

+ 2 - 2
celery/canvas.py

@@ -957,7 +957,7 @@ class chord(Signature):
         tasks = (self.tasks.clone() if isinstance(self.tasks, group)
                  else group(self.tasks, app=app))
         if app.conf.task_always_eager:
-            return self.apply((), kwargs,
+            return self.apply(args, kwargs,
                               body=body, task_id=task_id, **options)
         return self.run(tasks, body, args, task_id=task_id, **options)
 
@@ -966,7 +966,7 @@ class chord(Signature):
         tasks = (self.tasks.clone() if isinstance(self.tasks, group)
                  else group(self.tasks, app=self.app))
         return body.apply(
-            args=(tasks.apply().get(propagate=propagate),),
+            args=(tasks.apply(args, kwargs).get(propagate=propagate),),
         )
 
     def _traverse_tasks(self, tasks, value=None):

+ 6 - 0
celery/tests/app/test_builtins.py

@@ -174,3 +174,9 @@ class test_chord(BuiltinsCase):
         x = chord([self.add.s(i, i) for i in range(10)], body=self.xsum.s())
         r = x.apply_async()
         self.assertEqual(r.get(), 90)
+
+    def test_apply_eager_with_arguments(self):
+        self.app.conf.task_always_eager = True
+        x = chord([self.add.s(i) for i in range(10)], body=self.xsum.s())
+        r = x.apply_async([1])
+        self.assertEqual(r.get(), 55)