code: def start(self):
          
          with self._lock:
              if self._running:
                  return
  
              self._stopped = False
              self._running = True
              self._start_idle_timer()
              _logger.debug(u'starting thread of type %s to run the scheduler',
                            _THREAD_CLASS)
              self._thread = create_thread(target=self._schedule_flushes)
              try:
                  self._thread.start()
              except Exception:  # pylint: disable=broad-except
                  _logger.warn(
                      u'no scheduler thread, scheduler.run() will be invoked by report(...)',
                      exc_info=True)
                  self._thread = None
                  self._initialize_flushing()
docs: Starts processing.
  
          Calling this method
  
          - starts the thread that regularly flushes all enabled caches.
          - enables the other methods on the instance to be called successfully