code: def get_results(self, *, block=False, timeout=None):
          
          deadline = None
          if timeout:
              deadline = time.monotonic() + timeout / 1000
  
          for child in self.children:
              if deadline:
                  timeout = max(0, int((deadline - time.monotonic()) * 1000))
  
              if isinstance(child, group):
                  yield list(child.get_results(block=block, timeout=timeout))
              else:
                  yield child.get_result(block=block, timeout=timeout)
docs: Get the results of each job in the group.
  
          Parameters:
            block(bool): Whether or not to block until the results are stored.
            timeout(int): The maximum amount of time, in milliseconds,
              to wait for results when block is True.  Defaults to 10
              seconds.
  
          Raises:
            ResultMissing: When block is False and the results aren't set.
            ResultTimeout: When waiting for results times out.
  
          Returns:
            A result generator.