def publish_msg(msg): mq_handler = None try: mq_handler = RabbitMQHandler(_publish) except UnsupportedMessageQueueError as e: print(e) exit(FAIL) mq_handler.publish_to_parsers(msg)
def publish_user(user): mq_handler = None try: mq_handler = RabbitMQHandler(_publish) except UnsupportedMessageQueueError as e: print(e) exit(FAIL) mq_handler.publish_to_parsed_data_exchange(msg=user, topic="user")
def register_to_topics(self, topics, mq_url): for topic in topics: if topic not in TOPICS: raise UnsupportedTopic(f"ERROR: topic '{topic}' is unrecognized. Known topics: {TOPICS!r}") def callback(ch, method, props, body): self.save_wrapper(body) mq_h = RabbitMQHandler(mq_url) mq_h.consume_parsed_data_exchange_by_topic(callback=callback, topics=topics)
def run_parser_cli(parser: str, mq_url: str): parser = parser.lower() if parser not in PARSER_NAMES: raise UnknownParserError() parser_h = get_parser(parser) mq_handler = RabbitMQHandler(mq_url) def on_message(ch, method, props, body): data = json.loads(body) user_id, snap_id, path = data[USER_ID_KEY], data[SNAPSHOT_ID_KEY], data[USER_SNAPSHOTS_URL_KEY] snapshot = load_snapshot(path) # Snapshot class parsed_data = parser_h.parse(msg=snapshot) wrapped_parsed_data = wrap_parsed_data(parsed_data, parser, user_id, snap_id) parsed_data_json = json.dumps(wrapped_parsed_data) mq_handler.publish_to_parsed_data_exchange(msg=parsed_data_json, topic=parser) # runs forever... stops on CTRL-C mq_handler.consume_queue(queue=parser, callback=on_message)
def run_parser_cli(parser: str, mq_url: str): parser = parser.lower() if parser not in PARSER_NAMES: print(f"Unknown parser! please choose one of the following:\n{PARSER_NAMES!r}") exit(FAIL) parser_h = get_parser(parser) mq_handler = None try: mq_handler = RabbitMQHandler(mq_url) except UnsupportedMessageQueueError as e: print(e) exit(FAIL) def on_message(ch, method, props, body): data = json.loads(body) user_id, snap_id, path = data[USER_ID_KEY], data[SNAPSHOT_ID_KEY], data[USER_SNAPSHOTS_URL_KEY] snapshot = load_snapshot(path) # Snapshot class parsed_data = parser_h.parse(msg=snapshot) wrapped_parsed_data = wrap_parsed_data(parsed_data, parser, user_id, snap_id) parsed_data_json = json.dumps(wrapped_parsed_data) mq_handler.publish_to_parsed_data_exchange(msg=parsed_data_json, topic=parser) # runs forever... stops on CTRL-C mq_handler.consume_queue(queue=parser, callback=on_message)
def publish_user(user): print(user) mq_handler = RabbitMQHandler(_publish) mq_handler.publish_to_parsed_data_exchange(msg=user, topic="user")
def publish_msg(msg): mq_handler = RabbitMQHandler(_publish) mq_handler.publish_to_parsers(msg)