>>> cache = Cache(regularly_cleanup=False, log_level=logging.ERROR)
        >>> cache.start_regularly_cleanup()
        True
        >>> cache.start_regularly_cleanup()
        False

def start_regularly_cleanup(self, regularly_cleanup_interval=None, only_read=False):
        """
        >>> cache = Cache(regularly_cleanup=False, log_level=logging.ERROR)
        >>> cache.start_regularly_cleanup()
        True
        >>> cache.start_regularly_cleanup()
        False
        """
        if not hasattr(self, 'cleanup_supervisor') or self.cleanup_supervisor is None:
            if regularly_cleanup_interval is None or not isinstance(regularly_cleanup_interval, int):
                regularly_cleanup_interval = self.regularly_cleanup_interval

            cleanup_supervisor = CleanupSupervisorThread(cache=self, logger=self.logger,
                                                         interval=regularly_cleanup_interval)
            cleanup_supervisor.start()
            self.cleanup_supervisor = cleanup_supervisor
            return True
        else:
            self.logger.warning('Already have a regularly cleanup thread - %s' % self.cleanup_supervisor.name)
            return False