code: def __init__(
      self,
      heartbeat_pool,
      worker_pool,
      keep_alive_time: Union[
          int, float
      ] = CLIENT_KEEP_ALIVE_TIME_DEFAULT,
  ):
      self._heartbeat_pool = heartbeat_pool
      self._worker_pool = worker_pool
  
      self._client_keep_alive_time = keep_alive_time
  
      # Start thread to collect stats and logs at intervals
      self._th_collector = Thread(
          target=self._interval_check, daemon=True
      )
      self._shutdown = False
      self._started = False
  
imports: import datetime
  import logging
  import time
  import weakref
  from collections import Counter
  from threading import Thread
  from typing import Union
  import aim.ext.transport.proto.remote_router_pb2
label_desc: Use image node_id 1 to create a new RPCHeartbeatWatcher object  with example: obj = RPCHeartbeatWatcher(heartbeat_pool, worker_pool, keep_alive_time)