Skip to content

Instantly share code, notes, and snippets.

@flaper87
Created July 24, 2013 09:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flaper87/6069190 to your computer and use it in GitHub Desktop.
Save flaper87/6069190 to your computer and use it in GitHub Desktop.
import sys
import json
from qpid.messaging import *
broker = "10.10.10.4:5672" if len(sys.argv)<2 else sys.argv[1]
address = "testexchange / testtopic" if len(sys.argv)<3 else sys.argv[2]
connection = Connection(broker)
try:
connection.open()
session = connection.session()
sender = session.sender(address)
receiver = session.receiver(address)
content = json.dumps({"ctxt": {}, "message": {"method": "test", "args": {"arg": "1"}}})
sender.send(Message(content))
message = receiver.fetch(timeout=1)
print message.content
session.acknowledge()
except MessagingError as m:
print m
finally:
connection.close()
from oslo.config import cfg
from oslo import messaging
from oslo.messaging.openstack.common import log as logging
logging.setup('oslo.messaging')
class ServerControlEndpoint(object):
target = messaging.Target(namespace='control',
version='2.0')
def __init__(self, server):
self.server = server
def stop(self, ctx):
self.server.stop()
class TestEndpoint(object):
def test(self, ctx, arg):
print arg
return arg
transport = messaging.get_transport(cfg.CONF,
'qpid://10.10.10.4:5672/testexchange')
target = messaging.Target(exchange="testexchange",
topic='testtopic',
server='server1')
endpoints = [
TestEndpoint(),
]
server = messaging.get_rpc_server(transport, target, endpoints)
server.start()
server.wait()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment