def run(self): try: connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) self.emit( QtCore.SIGNAL("service_status_changed(QString)"), json.dumps(create_service_status_event( SERVICE_NAME_RABBITMQ, SERVICE_STATUS_UP)), ) except: self.emit( QtCore.SIGNAL("service_status_changed(QString)"), json.dumps(create_service_status_event( SERVICE_NAME_RABBITMQ, SERVICE_STATUS_DOWN)), ) logger.exception("Couldn't connect to RabbitMQ") raise channel = connection.channel() channel.exchange_declare(exchange=EVENT_QUEUE_NAME, type='fanout') result = channel.queue_declare(exclusive=True) _queue_name = result.method.queue channel.queue_bind(exchange=EVENT_QUEUE_NAME, queue=_queue_name) channel.basic_consume(self.handle_event_callback, queue=_queue_name, no_ack=True) try: self.consuming = True channel.start_consuming() except AMQPConnectionError: raise
def runEyeFi(configfile): # configfile = sys.argv[2] eyeFiLogger.info("Reading config " + configfile) config = ConfigParser.SafeConfigParser({'geotag_enable': '0'}) config.read(configfile) server_address = (config.get('EyeFiServer', 'host_name'), config.getint('EyeFiServer', 'host_port')) # Create an instance of an HTTP server. Requests will be handled # by the class EyeFiRequestHandler eyeFiServer = EyeFiServer(server_address, EyeFiRequestHandler) eyeFiServer.config = config eyeFiLogger.info("Eye-Fi server started listening on port " + str(server_address[1])) send_event(create_service_status_event(SERVICE_NAME_EYEFISERVER2, SERVICE_STATUS_UP)) eyeFiServer.serve_forever()