def process(self, job):
        if not job:
            return
        try:
            self.working_on(job)
            job.perform()
        except Exception as e:
            exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()
            self.logger.error("%s failed: %s" % (job, e))
            job.fail(exceptionTraceback)
            self.failed()
        else:
            self.logger.debug("Hells yeah")
            self.logger.info('completed job: %s' % job)
        finally:
            self.done_working()
dataset/ETHPy150Open binarydud/pyres/pyres/horde.py/Minion.process/original