浏览代码

Tests passing

Ask Solem 11 年之前
父节点
当前提交
04a3cf379b
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      celery/canvas.py

+ 10 - 0
celery/canvas.py

@@ -432,6 +432,16 @@ class group(Signature):
                 task['args'] = task._merge(d['args'])[0]
         return group(tasks, **kwdict(d['options']))
 
+    def apply_async(self, *args, **kwargs):
+        if not self.tasks:
+            return self.freeze()  # empty group returns GroupResult
+        return Signature.apply_async(self, *args, **kwargs)
+
+    def apply(self, *args, **kwargs):
+        if not self.tasks:
+            return self.freeze()  # empty group returns GroupResult
+        return Signature.apply(self, *args, **kwargs)
+
     def __call__(self, *partial_args, **opts):
         tasks = [task.clone() for task in self.tasks]
         if not tasks: