code: def _subscription_thread(self, endpoint):
          
          try:
              conn = create_connection(self.addr + endpoint, timeout=5)
          except WebSocketTimeoutException:
              self.restart_q.put(endpoint)
              return
  
          while self.threads_running[endpoint]:
              try:
                  msg = conn.recv()
              except WebSocketTimeoutException:
                  self._controller_q.put(endpoint)
  
              log.debug("%s, %s", endpoint, msg)
              ep, pair = endpoint.split('/')
              log.debug("_subscription_thread(): Putting data on q..")
              try:
                  self.data_q.put((ep, pair, msg, time.time()), timeout=1)
              except TimeoutError:
                  continue
              finally:
                  log.debug("_subscription_thread(): Data Processed, looping back..")
          conn.close()
          log.debug("_subscription_thread(): Thread Loop Ended.")
docs: Thread Method, running the connection for each endpoint.
          :param endpoint:
          :return: