Get the App
SLTechnology News&Howtos  ›  Servers  › 

Rabbitmq selectively receives messages

Shulou Source: shulou.com Published: 2022-06-03 03:44:07 09月22日 Update

Sender:

Import pikaimport sysconnection = pika.BlockingConnection (pika.ConnectionParameters (host='localhost')) channel = connection.channel () channel.exchange_declare (exchange='direct_logs', exchange_type='direct') severity = sys.argv [1] if len (sys.argv) > 1 else 'info'message =' .join (sys.argv [2:]) or 'Hello Worldworker channels. Basic publishing (exchange='direct_logs', routing_key=severity Body=message) print ("[x] Sent% RGV% r"% (severity, message)) connection.close ()

Receiving end:

Import pikaimport sysconnection = pika.BlockingConnection (pika.ConnectionParameters (host='localhost')) channel = connection.channel () channel.exchange_declare (exchange='direct_logs' Exchange_type='direct') result = channel.queue_declare (exclusive=True) queue_name = result.method.queueseverities = sys.argv [1:] if not severities: sys.stderr.write ("Usage:% s [info] [warning] [error]\ n"% sys.argv [0]) sys.exit (1) for severity in severities: channel.queue_bind (exchange='direct_logs', queue=queue_name) Routing_key=severity) print ('[*] Waiting for logs. To exit press CTRL+C') def callback (ch, method, properties, body): print ("[x]% properties% r"% (method.routing_key, body)) channel.basic_consume (callback, queue=queue_name, no_ack=True) channel.start_consuming ()

Tags: Messages selectin Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Technology Xiaomi NVidia Huawei Apple