def run(self): """ Cycles through every filesystem entry in order, removing any files associated with database records that do not exist. """ while True: for family in state.get_families(): _logger.info("Processing family %(family)r..." % { 'family': family, }) filesystem = state.get_filesystem(family) self._walk(filesystem.walk()) _logger.debug("All records processed; sleeping") time.sleep(CONFIG.maintainer_filesystem_sleep)
def _post(self): families = set(database.list_families()).union(state.get_families()) families.discard(None) return { 'families': sorted(families), }