def main(args, context):

    logger = logging.getLogger(__name__)
    settings = configuration.Config()
    serializer = serialization.Serializer()

    output_data = communication.connect_socket(
        context,
        socket_type=zmq.SUB,
        connection=settings.connections["output_data"])
    output_data.setsockopt(zmq.SUBSCRIBE, settings.topics["weights"])

    logger.info("Listening for data stream.")

    try:

        while True:

            message_buffer = output_data.recv()
            message = serializer.read_buffer(message_buffer, topic="weights")
            logger.info("Recieved: %s", message)
            time.sleep(args.s)

    except Exception as e:
        logger.exception("Listening failed.")
        logger.info("Shutting down monitor.")
        sys.exit()

    except KeyboardInterrupt as e:
        logger.debug("User interrupt.")
        logger.info("Shutting down monitor.")
        sys.exit()

    return
예제 #2
0
def main(args, context):

    logger = logging.getLogger(__name__)
    settings = configuration.Config()
    serializer = serialization.Serializer()

    input_data = communication.connect_socket(
        context,
        socket_type=zmq.PUB,
        connection=settings.connections["input_data"])

    logger.info("Starting data stream. Sending %d elements.", args.n)

    try:

        for i in xrange(args.n):

            logger.debug("Sending: %s", str(i))

            message = i
            message_buffer = serializer.write_buffer(message, topic="camera")
            input_data.send(message_buffer)

            time.sleep(args.s)

        logger.info("Data transfer complete.")

    except Exception as e:
        logger.exception("Failed sending camera data.")
        logger.info("Shutting down camera data stream.")
        sys.exit()

    return
예제 #3
0
	def __init__(self, topic, sleep = 0, connection = "output_data" , settings = configuration.Config(), serializer = serialization.Serializer()):

		self.context = zmq.Context()
		self.settings = settings
		self.serializer = serializer
		self.sleep = sleep
		self.topic = topic

		self.logger_parent = logging.getLogger("topical monitor")
		self.logger_parent.setLevel(logging.INFO)

		self.data = communication.connect_socket(self.context, socket_type = zmq.SUB, connection = self.settings.connections[connection])
		self.data.setsockopt(zmq.SUBSCRIBE, self.settings.topics[topic])
예제 #4
0
    def __init__(self,
                 config=configuration.Config(),
                 serializer=serialization.Serializer(),
                 payload=payload.Payload()):

        self.context = zmq.Context()
        self.settings = config
        self.serializer = serializer
        self.payload = payload

        self.controller = communication.connect_socket(
            self.context,
            socket_type=zmq.REQ,
            connection=self.settings.connections["commander"])

        self.logger = logging.getLogger("commander")