code: def callback(self):
      
      if self.was_aborted:
        return
  
      mapreduce_id = self.outputs.job_id.value
      mapreduce_state = model.MapreduceState.get_by_job_id(mapreduce_id)
      if mapreduce_state.result_status != model.MapreduceState.RESULT_SUCCESS:
        self.retry("Job %s had status %s" % (
            mapreduce_id, mapreduce_state.result_status))
        return
  
      mapper_spec = mapreduce_state.mapreduce_spec.mapper
      outputs = []
      output_writer_class = mapper_spec.output_writer_class()
      if (output_writer_class and
          mapreduce_state.result_status == model.MapreduceState.RESULT_SUCCESS):
        outputs = output_writer_class.get_filenames(mapreduce_state)
  
      self.fill(self.outputs.result_status, mapreduce_state.result_status)
      self.fill(self.outputs.counters, mapreduce_state.counters_map.to_dict())
      self.complete(outputs)
docs: Callback after this async pipeline finishes.