class_docstr: Start RPC tracker on a separate process.
  
  Python implementation based on PopenWorker.
  
  Parameters
  ----------
  host : str
      The host url of the server.
  
  port : int
      The TCP port to be bind to
  
  port_end : int, optional
      The end TCP port to search
  
  silent: bool, optional
      Whether run in silent mode
  
  reuse_addr: bool, optional
      Allows the kernel to reuse a local socket in TIME_WAIT state.
  
  timeout: float, optional
       set a timeout for all operations on the socket
code: def __init__(
      self,
      host="0.0.0.0",
      port=9190,
      port_end=9199,
      silent=False,
      reuse_addr=True,
      timeout=None,
  ):
      if silent:
          logger.setLevel(logging.WARN)
      self.proc = PopenWorker()
      # send the function
      self.proc.send(
          _popen_start_tracker_server,
          [host, port, port_end, silent, reuse_addr, timeout],
      )
      # receive the port
      self.port, self.stop_key = self.proc.recv()
      self.host = host
  
imports: import asyncio
  import heapq
  import logging
  import socket
  import threading
  import errno
  import struct
  import json
  from tvm.contrib.popen_pool import PopenWorker
  from .._ffi.base import py_str
  from .None import base
  from .base import RPC_TRACKER_MAGIC, TrackerCode
label_desc: Use image node_id 1 to create a new Tracker object from inherited base classes: object with example: obj = Tracker(host, port, port_end, silent, reuse_addr, timeout)