code: def gather(self):
          
          limit = self.op_sequence - self.op_sequence_start
          results = MessageIterator(self.sqs, self.reduce_queue, limit)
          for m in results:
              # sequence_id from above
              msg_id = int(m['MessageAttributes']['sequence_id']['StringValue'])
              if (not msg_id > self.op_sequence_start or not msg_id <= self.op_sequence or
              msg_id not in self.futures):
                  raise RuntimeError(
                      "Concurrent queue user from different "
                      "process or previous results")
              f = self.futures[msg_id]
              f.set_result(m)
              results.ack(m)
docs: Fetch results from separate queue