code: def sync_execution(
      self,
      execution_path: Path,
      container_id: UniqueId,
      container_type: ContainerType,
  ) -> None:
      if list(execution_path.glob("partition-*")):
          for partition_path in execution_path.iterdir():
              self.sync_single_execution(
                  execution_path=partition_path,
                  container_id=container_id,
                  container_type=container_type,
              )
      else:
          self.sync_single_execution(
              execution_path=execution_path,
              container_id=container_id,
              container_type=container_type,
          )
  
imports: import logging
  import os
  import threading
  import time
  from pathlib import Path
  from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence
  from neptune.cli.abstract_backend_runner import AbstractBackendRunner
  from neptune.cli.utils import get_metadata_container, get_offline_dirs, get_project, get_qualified_name, is_container_synced_and_remove_junk, iterate_containers, split_dir_name
  from neptune.common.exceptions import NeptuneConnectionLostException
  from neptune.constants import ASYNC_DIRECTORY, OFFLINE_DIRECTORY, OFFLINE_NAME_PREFIX
  from neptune.envs import NEPTUNE_SYNC_BATCH_TIMEOUT_ENV
  from neptune.exceptions import CannotSynchronizeOfflineRunsWithoutProject
  from neptune.internal.backends.api_model import ApiExperiment, Project
  from neptune.internal.container_type import ContainerType
  from neptune.internal.disk_queue import DiskQueue
  from neptune.internal.id_formats import QualifiedName, UniqueId
  from neptune.internal.operation import Operation
  from neptune.internal.operation_processors.operation_storage import OperationStorage
  from neptune.internal.utils.logger import logger
label_desc: Use image node_id 2 for calling the SyncRunner obj's underlying member method code with example usage: obj.sync_execution(execution_path, container_id, container_type) without return types