zoukankan      html  css  js  c++  java
  • python rabbitmq官方文档demo

    1.生产者

    #!/usr/bin/env python
    import pika
    import json
    
    # https://www.rabbitmq.com/tutorials/tutorial-one-python.html 官方文档
    
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    channel.queue_declare(queue='hello')
    
    message=json.dumps({'OrderId':"1000"})
    channel.basic_publish(exchange='',
                          routing_key='hello',
                          body=message)
    #print(" [x] Sent 'Hello World! 2020'")
    print(message)
    connection.close()

    2.消费者

    #!/usr/bin/env python
    import pika, sys, os
    
    # https://www.rabbitmq.com/tutorials/tutorial-one-python.html 官方文档
    
    def main():
        connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
        channel = connection.channel()
        channel.queue_declare(queue='hello')
    
        def callback(ch, method, properties, body):
            #print(" [x] Received [%r]" %body)
            #print(body)    # b'{"OrderId": "1000"}'
            print(body.decode())  ## 关键:需要decode,否则会出现上面的b' '符号
    
        channel.basic_consume(queue='hello',
                              auto_ack=True,
                              on_message_callback=callback)
    
        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)
  • 相关阅读:
    Java面试题(3)Java new一个对象的过程中发生了什么
    spring boot(九):Spring Boot中Redis的使用
    intellij idea 2018
    springboot(八)自定义Filter、自定义Property
    springboot(六)SpringBoot问题汇总
    Java Web之路(五)JSP
    Java
    instrument(2)
    Instrumentation(1)
    Dubbo中订阅和通知解析
  • 原文地址:https://www.cnblogs.com/oktokeep/p/14033936.html
Copyright © 2011-2022 走看看