def consume_msg(self, body, msg):
        callback = getattr(self.receiver, body["method"])
        try:
            callback(**body["args"])
        except errors.CannotFindTask as e:
            logger.warn(str(e))
            msg.ack()
        except Exception:
            logger.error(traceback.format_exc())
            msg.ack()
        except __HOLE__:
            logger.error("Receiverd interrupted.")
            msg.requeue()
            raise
        else:
            db.commit()
            msg.ack()
        finally:
            db.remove()
dataset/ETHPy150Open openstack/fuel-web/nailgun/nailgun/rpc/receiverd.py/RPCConsumer.consume_msg