zoukankan      html  css  js  c++  java
  • RabbitMQ 实现广播订阅

    # 所有订阅者都可收到广播

    # 生产者

    import pika, sys
    
    connection = pika.BlockingConnection(
                                 pika.ConnectionParameters(host='localhost'))  # 连接本地的MQ
    
    channel = connection.channel()
    
    channel.exchange_declare(exchange='logs', exchange_type='fanout')
    
    message = ' '.join(sys.argv[1:]) or 'info: Hello World!'
    
    
    channel.basic_publish(exchange='logs', routing_key='', body=message)
    print('[x] Sent %r' % message)
    
    connection.close()    

    # 消费者

    import pika
    
    connection = pika.BlockingConnection(
                           pika.ConnectionParameters(host='localhost'))
    channel = connection.channel()
    
    channel.exchange_declare(exchange='logs', exchange_type='fanout')
    result = channel.queue_declare(exclusive=True)
    queue_name = result.method.queue  # queue 名称
    
    channel.queue_bind(exchange='logs', queue=queue_name)
    
    print('[*] Waiting for logs. To exit press CTRL+C')
    
    
    def callback(ch, method, properties, body):
        print('[x] %r' % body)
    
    channel.basic_consume(callback, queue=queue_name, no_ack=True)
    channel.start_consuming() 
    

      

     

  • 相关阅读:
    [CF590C] Three States
    [CF767B] The Queue
    [CF1296F] Berland Beauty
    [CF3D] Least Cost Bracket Sequence
    YUV420 转 RGB 测试
    [POI2012] TOU-Tour de Byteotia
    [CF576C] Points on Plane
    [CF191C] Fools and Roads
    [CF1485C] Floor and Mod
    [CF1399D] Binary String To Subsequences
  • 原文地址:https://www.cnblogs.com/412013cl/p/8527185.html
Copyright © 2011-2022 走看看