class_docstr: Base class for OCI builders. This is a command class
  that can be used to construct build commands for the given OCI builder.
  
  To implement a new OCI builder, provide a build and health check command via
  'container.register_backend()' instead.
class_docstr_tok: ["Base","class","for","OCI","builders",".","This","is","a","command","class","that","can","be","used","to","construct","build","commands","for","the","given","OCI","builder",".","To","implement","a","new","OCI","builder",",","provide","a","build","and","health","check","command","via","'container.register_backend","(",")","'","instead","."]
code: def _enqueue_output(
      self,
      pipe: t.IO[bytes],
      pipe_name: str,
      queue: Queue[tuple[str, bytes] | None],
  ):
      try:
          with pipe:
              for line in iter(pipe.readline, b""):
                  queue.put((pipe_name, line))
      finally:
          queue.put(None)
  
imports: from __future__ import annotations
  import logging
  import os
  import subprocess
  import typing
  from abc import abstractmethod
  from functools import singledispatchmethod
  from itertools import chain
  from queue import Queue
  from threading import Thread
  from typing import TYPE_CHECKING
  import attr
  from ...exceptions import BentoMLException
  from ..utils import resolve_user_filepath
label_desc: Use image node_id 8 for calling the OCIBuilder obj's underlying member method code with example usage: obj._enqueue_output(pipe, pipe_name, queue) without return types