class_docstr: Wraps any observer and puts processing of events in the background.
  
  If the covered observer fails to process an event, the queue observer
  will retry until it works. This is useful for observers that rely on
  external services like databases that might become temporarily
  unavailable.
code: def join(self):
      if self._queue is not None:
          self._queue.join()
          self._stop_worker_event.set()
          self._worker.join(timeout=10)
  
imports: from collections import namedtuple
  from queue import Queue
  from sacred.observers.base import RunObserver
  from sacred.utils import IntervalTimer
  import traceback
  import logging
label_desc: Use image node_id 12 for calling the QueueObserver obj's underlying member method code with example usage: obj.join() without return types