

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 KeyboardInterrupt:
        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/original