code: def flush(self):
          
          self.queue(None, None, flush=True)
          if not self._flushed.wait(timeout=self._max_flush_time):
              raise ValueError("flush timed out")
docs: Trigger a flush of the queue.
          Note: this method will only return once the queue is empty. This means it can block indefinitely if more events
          are produced in other threads than can be consumed.