(R, timeout=None, propagate=True)
| 55 | |
| 56 | |
| 57 | def joinall(R, timeout=None, propagate=True): |
| 58 | stack = deque([R]) |
| 59 | |
| 60 | try: |
| 61 | use_native = joinall.backend.supports_native_join |
| 62 | except AttributeError: |
| 63 | use_native = False |
| 64 | |
| 65 | while stack: |
| 66 | res = stack.popleft() |
| 67 | if isinstance(res, ResultSet): |
| 68 | j = res.join_native if use_native else res.join |
| 69 | stack.extend(j(timeout=timeout, propagate=propagate)) |
| 70 | elif isinstance(res, AsyncResult): |
| 71 | stack.append(res.get(timeout=timeout, propagate=propagate)) |
| 72 | else: |
| 73 | yield res |
| 74 | |
| 75 | |
| 76 | @task() |
no test coverage detected