class_docstr: Client side of ``LocalTimerServer``. This client is meant to be used
  on the same host that the ``LocalTimerServer`` is running on and uses
  pid to uniquely identify a worker. This is particularly useful in situations
  where one spawns a subprocess (trainer) per GPU on a host with multiple
  GPU devices.
code: def release(self, scope_id):
      pid = os.getpid()
      release_request = TimerRequest(pid, scope_id, -1)
      self._mp_queue.put(release_request)
  
imports: import logging
  import multiprocessing
  import os
  import signal
  import time
  from queue import Empty
  from typing import Any, Dict, List, Set, Tuple
  from .api import RequestQueue, TimerClient, TimerRequest, TimerServer
label_desc: Use image node_id 3 for calling the LocalTimerClient obj's underlying member method code with example usage: obj.release(scope_id) without return types