code: def get_operation_processor(
      mode: Mode,
      container_id: UniqueId,
      container_type: ContainerType,
      backend: NeptuneBackend,
      lock: threading.RLock,
      flush_period: float,
      queue: "Queue[Signal]",
  ) -> OperationProcessor:
      if mode == Mode.ASYNC:
          return build_async_operation_processor(
              container_id=container_id,
              container_type=container_type,
              backend=backend,
              lock=lock,
              sleep_time=flush_period,
              queue=queue,
          )
      elif mode == Mode.SYNC:
          return SyncOperationProcessor(
              container_id, container_type, backend
          )
      elif mode == Mode.DEBUG:
          return SyncOperationProcessor(
              container_id, container_type, backend
          )
      elif mode == Mode.OFFLINE:
          # the object was returned by mocked backend and has some random ID.
          return OfflineOperationProcessor(
              container_id, container_type, lock
          )
      elif mode == Mode.READ_ONLY:
          return ReadOnlyOperationProcessor()
      else:
          raise ValueError(f"mode should be one of {[m for m in Mode]}")
  
file_path: neptune-client/src/neptune/internal/operation_processors/factory.py
imports: import os
  import threading
  from queue import Queue
  from typing import TYPE_CHECKING
  from neptune.envs import NEPTUNE_ASYNC_BATCH_SIZE
  from neptune.internal.backends.neptune_backend import NeptuneBackend
  from neptune.internal.container_type import ContainerType
  from neptune.internal.id_formats import UniqueId
  from neptune.types.mode import Mode
  from .async_operation_processor import AsyncOperationProcessor
  from .offline_operation_processor import OfflineOperationProcessor
  from .operation_processor import OperationProcessor
  from .read_only_operation_processor import ReadOnlyOperationProcessor
  from .sync_operation_processor import SyncOperationProcessor
label_desc: Use image node_id 2 for calling a global function with example usage: get_operation_processor(mode, container_id, container_type, backend, lock, flush_period, queue) and returns: build_async_operation_processor, SyncOperationProcessor, SyncOperationProcessor, OfflineOperationProcessor, ReadOnlyOperationProcessor