class_docstr: This is a queue based run data processor that queues incoming batches and processes them using
  single worker thread.
docstr: Asynchronously logs a batch of run data (parameters, tags, and metrics).
  
  Args:
      run_id (str): The ID of the run to log data for.
      params (list[mlflow.entities.Param]): A list of parameters to log for the run.
      tags (list[mlflow.entities.RunTag]): A list of tags to log for the run.
      metrics (list[mlflow.entities.Metric]): A list of metrics to log for the run.
  
  Returns:
      mlflow.utils.async_utils.RunOperations: An object that encapsulates the
          asynchronous operation of logging the batch of run data.
          The object contains a list of `concurrent.futures.Future` objects that can be used
          to check the status of the operation and retrieve any exceptions
          that occurred during the operation.
docstr_tok: ["Asynchronously","logs","a","batch","of","run","data","(","parameters",",","tags",",","and","metrics",")",".","Args",":","run_id","(","str",")",":","The","ID","of","the","run","to","log","data","for",".","params","(","list","[","mlflow.entities.Param","]",")",":","A","list","of","parameters","to","log","for","the","run",".","tags","(","list","[","mlflow.entities.RunTag","]",")",":","A","list","of","tags","to","log","for","the","run",".","metrics","(","list","[","mlflow.entities.Metric","]",")",":","A","list","of","metrics","to","log","for","the","run",".","Returns",":","mlflow.utils.async_utils.RunOperations",":","An","object","that","encapsulates","the","asynchronous","operation","of","logging","the","batch","of","run","data",".","The","object","contains","a","list","of","`","concurrent.futures.Future","`","objects","that","can","be","used","to","check","the","status","of","the","operation","and","retrieve","any","exceptions","that","occurred","during","the","operation","."]
code: def log_batch_async(
      self,
      run_id: str,
      params: [Param],
      tags: [RunTag],
      metrics: [Metric],
  ) -> RunOperations:
      """Asynchronously logs a batch of run data (parameters, tags, and metrics).
  
      Args:
          run_id (str): The ID of the run to log data for.
          params (list[mlflow.entities.Param]): A list of parameters to log for the run.
          tags (list[mlflow.entities.RunTag]): A list of tags to log for the run.
          metrics (list[mlflow.entities.Metric]): A list of metrics to log for the run.
  
      Returns:
          mlflow.utils.async_utils.RunOperations: An object that encapsulates the
              asynchronous operation of logging the batch of run data.
              The object contains a list of `concurrent.futures.Future` objects that can be used
              to check the status of the operation and retrieve any exceptions
              that occurred during the operation.
      """
      from mlflow import MlflowException
  
      if not self._is_activated:
          raise MlflowException("AsyncLoggingQueue is not activated.")
      batch = RunBatch(
          run_id=run_id,
          params=params,
          tags=tags,
          metrics=metrics,
          completion_event=threading.Event(),
      )
      self._queue.put(batch)
      operation_future = self._batch_status_check_threadpool.submit(
          self._wait_for_batch, batch
      )
      return RunOperations(operation_futures=[operation_future])
  
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 9 for calling the AsyncLoggingQueue obj's underlying member method code with example usage: obj.log_batch_async(run_id, params, tags, metrics) and returns: RunOperations