#!/usr/bin/env python import pika, sys, os, json def main(): connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost")) channel = connection.channel() queue_name = sys.argv[1] channel.queue_declare(queue=queue_name, durable=True) def callback(ch, method, properties, body): message = json.loads(body.decode()) print(" [x] Received %r" % message) channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True) print(" [*] Waiting for messages. To exit press CTRL+C") channel.start_consuming() if __name__ == "__main__": try: main() except KeyboardInterrupt: print("Interrupted") try: sys.exit(0) except SystemExit: os._exit(0)