import oslo.messaging
from oslo.config import cfg
class TestEndpoint(object):
target = oslo.messaging.Target(namespace='test', version='2.0')
def __init__(self, server):
self.server = server
def foo(self, ctx, id):
return id
oslo.messaging.set_transport_defaults('myexchange')
transport = oslo.messaging.get_transport(cfg.CONF)
target = oslo.messaging.Target(topic='myroutingkey', server='myserver')
endpoints = [TestEndpoint(None)]
server = oslo.messaging.get_rpc_server(transport, target, endpoints,
executor='blocking')
server.start()
server.wait()
import oslo.messaging
from oslo.config import cfg
oslo.messaging.set_transport_defaults('myexchange')
transport = oslo.messaging.get_transport(cfg.CONF,
url='rabbit://guest:guest@127.0.0.1:5672/')
target = oslo.messaging.Target(topic='myroutingkey', version='2.0',
namespace='test')
client = oslo.messaging.RPCClient(transport, target)
r = client.call({}, 'foo', id='1')
print r