|
@@ -293,10 +293,13 @@ class Signature(dict):
|
|
|
)))
|
|
|
|
|
|
def __or__(self, other):
|
|
|
- if isinstance(other, group):
|
|
|
- other = maybe_unroll_group(other)
|
|
|
if isinstance(self, group):
|
|
|
+ if isinstance(other, group):
|
|
|
+ return group(_chain(self.tasks, other.tasks), app=self.app)
|
|
|
return chord(self, body=other, app=self._app)
|
|
|
+ elif isinstance(other, group):
|
|
|
+ other = maybe_unroll_group(other)
|
|
|
+
|
|
|
if not isinstance(self, chain) and isinstance(other, chain):
|
|
|
return chain((self,) + other.tasks, app=self._app)
|
|
|
elif isinstance(other, chain):
|