def run(self, interval): self.log.info('Starting updater service') last_update = 0 while True: now = time.time() sleep = interval + last_update - now if sleep > 0: self.log.info('Sleeping for %s', human_readable_duration(sleep)) time.sleep(sleep) try: with TrapErrors(): scanner.run(logger=self.log) feeds.run(logger=self.log, force=False) except TrapError, exc: self.log.error('Processing Error', exc_info=exc.args) last_update = now
def handle_noargs(self, log_stream=None, force=False, **kwargs): try: feeds.run(log_stream=log_stream, force=force) except LockError, exc: raise CommandError(exc)