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)