From 934d642b410d75dae1966c993fc61c371959876e Mon Sep 17 00:00:00 2001 From: Yves Fischer Date: Fri, 11 Jan 2013 20:01:09 +0100 Subject: datastore --- datastore/server.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 datastore/server.py (limited to 'datastore/server.py') diff --git a/datastore/server.py b/datastore/server.py new file mode 100644 index 0000000..8b9ca4e --- /dev/null +++ b/datastore/server.py @@ -0,0 +1,36 @@ +from sys import exit +from stompclient import PublishSubscribeClient +from threading import Thread +from store.controller import MQStoreController +from time import sleep + +import config + +client = PublishSubscribeClient(config.STOMP_HOST, config.STOMP_PORT) +listener = Thread(target=client.listen_forever, name='Frame-Receiver') +listener.start() +client.listening_event.wait() +r = client.connect(config.STOMP_LOGIN, config.STOMP_PASSCODE) +if r.command != "CONNECTED": + print "Failed to connect to {0}:{1}".format(config.STOMP_HOST,config.STOMP_PORT) + print r + exit(1) + + +controller = MQStoreController(client, config.CHANNELS, config.PROCESSORS) +client.subscribe(config.STOMP_QUEUE_PUT, controller.cb_put) +client.subscribe(config.STOMP_QUEUE_GET, controller.cb_get) +client.subscribe(config.STOMP_QUEUE_SUBSCRIBE, controller.cb_subscribe) + +while True: + try: + sleep(1) + except KeyboardInterrupt: + print "shutdown" + try: + client.shutdown_event.set() + except: + pass + exit(0) + + -- cgit v1.2.1