code: def set_progress(self, progress: float):
      if (
          self._running_op_key is None or self._subtask_api is None
      ):  # pragma: no cover
          return
      return self._call(
          self._subtask_api.set_running_operand_progress(
              session_id=self._running_session_id,
              op_key=self._running_op_key,
              slot_address=self.local_address,
              progress=progress,
          )
      )
  
imports: import asyncio
  import logging
  from collections import defaultdict
  from functools import lru_cache
  from typing import List, Dict
  from ..None import oscar
  from ..lib.aio import new_isolation
  from ..core.context import Context
  from ..storage.base import StorageLevel
  from ..typing import BandType, SessionType
  from ..utils import implements, is_ray_address
  from .cluster import ClusterAPI, NodeRole
  from .session import SessionAPI
  from .storage import StorageAPI
  from .subtask import SubtaskAPI
  from .meta import MetaAPI, WorkerMetaAPI
label_desc: Use image node_id 19 for calling the ThreadedServiceContext obj's underlying member method code with example usage: obj.set_progress(progress) and returns: self