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