예제 #1
0
    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
예제 #2
0
파일: eyefiserver.py 프로젝트: hgdeoro/EFLU
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()