From 33243c26aca82474a719c74a0e8f29fab644a3f5 Mon Sep 17 00:00:00 2001 From: BANASHANKAR KALEBELAGUNDI VEERA <bkalebe@us.ibm.com> Date: Mon, 9 Nov 2015 12:15:53 -0800 Subject: [PATCH] Fixing the server example code Added server.stop() before server.wait() Change-Id: I9764c77e0aa076b6a7b9bb9715e2ead89b12126f --- oslo_messaging/rpc/client.py | 4 ++-- oslo_messaging/rpc/server.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/oslo_messaging/rpc/client.py b/oslo_messaging/rpc/client.py index 04992288f..f67f673dd 100644 --- a/oslo_messaging/rpc/client.py +++ b/oslo_messaging/rpc/client.py @@ -229,7 +229,7 @@ class RPCClient(object): class TestClient(object): def __init__(self, transport): - target = messaging.Target(topic='testtopic', version='2.0') + target = messaging.Target(topic='test', version='2.0') self._client = messaging.RPCClient(transport, target) def test(self, ctxt, arg): @@ -254,7 +254,7 @@ class RPCClient(object): For example:: transport = messaging.get_transport(cfg.CONF) - target = messaging.Target(topic='testtopic', version='2.0') + target = messaging.Target(topic='test', version='2.0') client = messaging.RPCClient(transport, target) client.call(ctxt, 'test', arg=arg) diff --git a/oslo_messaging/rpc/server.py b/oslo_messaging/rpc/server.py index 855e3d9a6..74dbede44 100644 --- a/oslo_messaging/rpc/server.py +++ b/oslo_messaging/rpc/server.py @@ -44,6 +44,7 @@ A simple example of an RPC server with multiple endpoints might be:: from oslo_config import cfg import oslo_messaging + import time class ServerControlEndpoint(object): @@ -54,7 +55,7 @@ A simple example of an RPC server with multiple endpoints might be:: self.server = server def stop(self, ctx): - if server: + if self.server: self.server.stop() class TestEndpoint(object): @@ -70,7 +71,14 @@ A simple example of an RPC server with multiple endpoints might be:: ] server = oslo_messaging.get_rpc_server(transport, target, endpoints, executor='blocking') - server.start() + try: + server.start() + while True: + time.sleep(1) + except KeyboardInterrupt: + print("Stopping server") + + server.stop() server.wait() Clients can invoke methods on the server by sending the request to a topic and