class_docstr: Class to manage reading from queues safely.
class_docstr_tok: ["Class","to","manage","reading","from","queues","safely","."]
code: def _run(self) -> None:
      self._setup()
      start = time.time()
      while not self._stopped.is_set():
          if time.time() - start >= self._debounce_interval_ms / 1000.0:
              self._debounce()
              start = time.time()
          try:
              record = self._input_record_q.get(timeout=1)
          except queue.Empty:
              continue
          tracelog.log_message_dequeue(record, self._input_record_q)
          self._process(record)
      self._finish()
  
imports: import logging
  import queue
  import sys
  import threading
  import time
  from typing import TYPE_CHECKING, Optional, Tuple, Type, Union
  from ..lib import tracelog
label_desc: Use image node_id 6 for calling the RecordLoopThread obj's underlying member method code with example usage: obj._run() without return types