def run(self): try: while not self._shutdown_now.is_set(): self._check_condition() self._shutdown_now.wait(self.polling_interval) except: log.error('thread failed', exc_info=True)
def __init__(self, directory, wildcard, callback, exception_callback=None, interval=1): try: if not os.path.isdir(directory): raise ValueError('%s is not a directory'%directory) self._path = directory + '/' + wildcard self._last_filename = None super(DirectoryPoller,self).__init__(self._check_for_files, callback, exception_callback, interval) except: log.error('failed init?', exc_info=True)
def _perform_action(self, action): handlers = self._get_handlers(action) if not handlers: log.info('action accepted but no handlers found: %s', action) result = 'unhandled' self.sender.publish_event(origin=self.container.id, action=action, outcome=str(result)) log.debug('received action: %s, outcome: %s', action, result) else: for handler in handlers: try: result = handler.handle_request(action) or "completed" except Exception,e: log.error("handler %r failed to perform action: %s", handler, action, exc_info=True) result = e self.sender.publish_event(origin=self.container.id, action=action, outcome=str(result)) log.debug('performed action: %s, outcome: %s', action, result)
def _perform_action(self, action): handlers = self._get_handlers(action) if not handlers: log.info("action accepted but no handlers found: %s", action) result = "unhandled" self.sender.publish_event(origin=self.container.id, action=action, outcome=str(result)) log.debug("received action: %s, outcome: %s", action, result) else: for handler in handlers: try: result = handler.handle_request(action) or "completed" except Exception, e: log.error("handler %r failed to perform action: %s", handler, action, exc_info=True) result = e self.sender.publish_event(origin=self.container.id, action=action, outcome=str(result)) log.debug("performed action: %s, outcome: %s", action, result)
def __init__(self, directory, wildcard, callback, exception_callback=None, interval=1): try: if not os.path.isdir(directory): raise ValueError('%s is not a directory' % directory) self._path = directory + '/' + wildcard self._last_filename = None super(DirectoryPoller, self).__init__(self._check_for_files, callback, exception_callback, interval) except: log.error('failed init?', exc_info=True)