zoukankan      html  css  js  c++  java
  • RabbitMQ消息队列

    RabbitMQ

    1.什么是rabbitmq

    在生产者和消费者之间加了一个中间件——消息队列,用它可以来干嘛呢?

    它是来做消息转发的,当请求过来之后,不是直接发给服务器,而是发给消息队列,然后消息队列把消息中转一下再发给服务器

    2.作用

    • 存储消息、数据
    • 保证消息的顺序
    • 保证数据的正确交付

    3.rabbitmq安装

    安装rabbitmq之前先安装erlang

    1.网址选择下载软件

    https://www.rabbitmq.com/

     

     

     2.安装一直下一步即可

    4.安装erlang

    1.网址下载

    https://www.erlang.org/

     

     2.安装一直下一步即可

    python使用rabbitmq

    https://www.rabbitmq.com/install-windows.html

    1.安装pika

    #pika是python操作rabbitmq的模块
    pip3 install pika

    2.生产者代码

    import pika
    #1.链接到rabbitmq
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    #2.创建消息队列并命名
    channel.queue_declare(queue='hello')
    #3.发送消息
    channel.basic_publish(exchange='',
                          routing_key='hello', #消息队列名
                          body='Hello World!') #要发送的消息
    
    print(" [x] Sent 'Hello World Done!'")
    #4.关闭链接
    connection.close()

    3.消费者代码

    import pika
    #1.链接rabbitmq代码
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    #2.队列名
    channel.queue_declare(queue='hello')
    #3.回调函数:body:要接受的数据为二进制字符串
    def callback(ch, method, properties, body):
        print(" [x] Received %r" % body)
    
    channel.basic_consume(queue='hello', #队列名
                          auto_ack=True, #告诉消费者已经拿到了数据
                          on_message_callback=callback) #回调函数
    
    print(' [*] Waiting for messages. To exit press CTRL+C')
    #4
    channel.start_consuming()

    4.运行

    生产者cmd窗口

    python3 生产者文件名.py

    消费者cmd窗口2

    python3 消费者者文件名.py
  • 相关阅读:
    领料单取整
    财务应付金额对不上的
    销售订单计算交期
    辅助单位启用
    K3CLOUD日志目录
    QLIKVIEW-日期格式,数字格式写法
    MRP运算报错-清除预留
    整单折扣后 财务、暂估应付价税合计对不上的问题处理
    BZOJ 2976: [Poi2002]出圈游戏 Excrt+set
    BZOJ 3060: [Poi2012]Tour de Byteotia 并查集
  • 原文地址:https://www.cnblogs.com/tfzz/p/12101393.html
Copyright © 2011-2022 走看看