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
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
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])
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")