import eventlet eventlet.monkey_patch(os=False) import logging import socket from oslo.config import cfg from oslo import messaging _opts = [ cfg.StrOpt('host', default=socket.gethostname()), ] CONF = cfg.CONF CONF.register_opts(_opts) LOG = logging.getLogger('server') CONF() CONF.log_opt_values(LOG, logging.DEBUG) logging.basicConfig(level=logging.DEBUG) class Server(object): def __init__(self, transport): self.target = messaging.Target(topic='topic', server=transport.conf.host) self._server = messaging.get_rpc_server(transport, self.target, [self], executor='eventlet') super(Server, self).__init__() def start(self): self._server.start() def wait(self): self._server.wait() def ping(self, ctxt): LOG.info("PING") return 'ping' transport = messaging.get_transport(CONF, 'rabbit:///test') server = Server(transport) server.start() server.wait()