docstr: Obtain the computed results of calling source callback in parallel pool and feed
  the results to the ExternalSource nodes in `pipeline`.
  Schedule the execution of the source callback in the pool to compute next batch.
  Used by the parallel ExternalSource variant.
  
  Args:
      context_i (int): Index of the callback (in the list of parallel groups)
docstr_tok: ["Obtain","the","computed","results","of","calling","source","callback","in","parallel","pool","and","feed","the","results","to","the","ExternalSource","nodes","in","`","pipeline","`",".","Schedule","the","execution","of","the","source","callback","in","the","pool","to","compute","next","batch",".","Used","by","the","parallel","ExternalSource","variant",".","Args",":","context_i","(","int",")",":","Index","of","the","callback","(","in","the","list","of","parallel","groups",")"]
code: def schedule_and_receive(
      self, pipeline, pool, context_i, batch_size, epoch_idx
  ):
      """Obtain the computed results of calling source callback in parallel pool and feed
      the results to the ExternalSource nodes in `pipeline`.
      Schedule the execution of the source callback in the pool to compute next batch.
      Used by the parallel ExternalSource variant.
  
      Args:
          context_i (int): Index of the callback (in the list of parallel groups)
      """
      try:
          callback_out = pool.receive_batch(context_i)
          self.current_sample += batch_size
          self.current_iter += 1
          self.prefetch(pool, context_i, batch_size, epoch_idx)
          return _ExternalDataBatch(
              self, pipeline, callback_out, batch_size
          )
      except StopIteration:
          self.reset_indices()
          pool.reset_context(context_i)
          raise
  
imports: from nvidia.dali import backend
  from nvidia.dali import tensors
  from nvidia.dali import types
  from nvidia.dali._multiproc.messages import TaskArgs, SampleRange
  import nvidia.dali.types
  from nvidia.dali._utils.external_source_impl import get_callback_from_source, accepted_arg_count, SourceKind
label_desc: Use image node_id 8 for calling the _ExternalSourceGroup obj's underlying member method code with example usage: obj.schedule_and_receive(pipeline, pool, context_i, batch_size, epoch_idx) and returns: _ExternalDataBatch