'Run loop'

def run(self):

    logger.info('processor    starting...')
    while (not self._quit):
        try:
            (task, response) = self.inqueue.get(timeout=1)
            self.on_task(task, response)
            self._exceptions = 0
        except Queue.Empty as e:
            continue
        except KeyboardInterrupt:
            break
        except Exception as e:
            logger.exception(e)
            self._exceptions += 1
            if (self._exceptions > self.EXCEPTION_LIMIT):
                break
            continue
    logger.info('processor    exiting...')
