class_docstr: This is a queue based run data processor that queues incoming batches and processes them using
  single worker thread.
docstr: Wait for the given batch to be processed by the logging thread.
  
  Args:
      batch: The batch to wait for.
  
  Raises:
      Exception: If an exception occurred while processing the batch.
docstr_tok: ["Wait","for","the","given","batch","to","be","processed","by","the","logging","thread",".","Args",":","batch",":","The","batch","to","wait","for",".","Raises",":","Exception",":","If","an","exception","occurred","while","processing","the","batch","."]
code: def _wait_for_batch(self, batch: RunBatch) -> None:
      """Wait for the given batch to be processed by the logging thread.
  
      Args:
          batch: The batch to wait for.
  
      Raises:
          Exception: If an exception occurred while processing the batch.
      """
      batch.completion_event.wait()
      if batch.exception:
          raise batch.exception
  
imports: import atexit
  import logging
  import threading
  from concurrent.futures import ThreadPoolExecutor
  from queue import Empty, Queue
  from mlflow.entities.metric import Metric
  from mlflow.entities.param import Param
  from mlflow.entities.run_tag import RunTag
  from mlflow.utils.async_logging.run_batch import RunBatch
  from mlflow.utils.async_logging.run_operations import RunOperations
label_desc: Use image node_id 6 for calling the AsyncLoggingQueue obj's underlying member method code with example usage: obj._wait_for_batch(batch) without return types