code: def __init__(
      self,
      container_id: "UniqueId",
      container_type: "ContainerType",
      lock: "threading.RLock",
  ):
      data_path = self._init_data_path(container_id, container_type)
  
      self._metadata_file = MetadataFile(
          data_path=data_path,
          metadata=common_metadata(
              mode="offline",
              container_id=container_id,
              container_type=container_type,
          ),
      )
      self._operation_storage = OperationStorage(data_path=data_path)
  
      serializer: Callable[
          [Operation], Dict[str, Any]
      ] = lambda op: op.to_dict()
      self._queue = DiskQueue(
          dir_path=data_path,
          to_dict=serializer,
          from_dict=Operation.from_dict,
          lock=lock,
      )
  
file_path: neptune-client/src/neptune/internal/operation_processors/offline_operation_processor.py
imports: from typing import TYPE_CHECKING, Any, Callable, Dict, Optional
  from neptune.constants import OFFLINE_DIRECTORY
  from neptune.internal.disk_queue import DiskQueue
  from neptune.internal.metadata_file import MetadataFile
  from neptune.internal.operation import Operation
  from neptune.internal.operation_processors.operation_processor import OperationProcessor
  from neptune.internal.operation_processors.operation_storage import OperationStorage, get_container_dir
  from neptune.internal.operation_processors.utils import common_metadata
  from neptune.internal.utils.disk_utilization import ensure_disk_not_overutilize
label_desc: Use image node_id 1 to create a new OfflineOperationProcessor object from inherited base classes: OperationProcessor with example: obj = OfflineOperationProcessor(container_id, container_type, lock)