import json from pika import BlockingConnection, ConnectionParameters, PlainCredentials from pika.exchange_type import ExchangeType RMQ_HOST = 'localhost' RMQ_USER = 'rabbit' RMQ_PASS = '1234' EXCHANGE_NAME = 'amq.topic' ROUTING_KEY_CURRENT = 'rep.current' ROUTING_KEY_AVG = 'rep.average' def main(): connection = BlockingConnection( ConnectionParameters( host=RMQ_HOST, credentials=PlainCredentials(RMQ_USER, RMQ_PASS) ) ) try: channel = connection.channel() result = channel.queue_declare(queue=ROUTING_KEY_CURRENT) channel.queue_bind(exchange=EXCHANGE_NAME, queue=result.method.queue) result = channel.queue_declare(queue=ROUTING_KEY_AVG) channel.queue_bind(exchange=EXCHANGE_NAME, queue=result.method.queue) while True: query = input('Enter Query: ') if query == 'current': channel.basic_publish(exchange=EXCHANGE_NAME, routing_key=ROUTING_KEY_CURRENT, body=query) if query == 'average': channel.basic_publish(exchange=EXCHANGE_NAME, routing_key=ROUTING_KEY_AVG, body=query) except KeyboardInterrupt: connection.close() print('Interrupted by user. Shutting down...') if __name__ == '__main__': main()