• Python3之RabbitMQ


    • 接收消息
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: vita
    import pika
    # 建立与rabbitmq的连接
    credentials = pika.PlainCredentials("mq","mq123")
    connection = pika.BlockingConnection(pika.ConnectionParameters('192.168.64.126',virtual_host='vhosttest', credentials=credentials))
    channel = connection.channel()
    channel.queue_declare(queue="SH")
    
    def callback(ch,method,properties,body):
        print("消费者接收到了任务:%r"%body.decode("utf8"))
        # 有消息来临,立即执行callback,没有消息则夯住,等待消息
        # 老百姓开始去邮箱取邮件啦,队列名字是水许传
    # def basic_consume(self,
    #                       queue,
    #                       on_message_callback,
    #                       auto_ack=False,
    #                       exclusive=False,
    #                       consumer_tag=None,
    #                       arguments=None):
    # 这个参数的调用有所改动
    # 第一个参数是队列
    # 第二个是回调函数
    # 第三个这是auto_ack=True
    channel.basic_consume("SH",callback,True)
    # 开始消费,接收消息
    channel.start_consuming()
    
    • send 发送消息
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: vita
    import pika
    # 创建凭证,使用rabbitmq用户密码登录 # 去邮局取邮件,必须得验证身份
    credentials = pika.PlainCredentials("mq","mq123")
    # 新建连接,这里localhost可以更换为服务器ip # 找到这个邮局,等于连接上服务器
    connection = pika.BlockingConnection(pika.ConnectionParameters('192.168.64.126',virtual_host='vhosttest', credentials=credentials))
    # 创建频道 # 建造一个大邮箱,隶属于这家邮局的邮箱,就是个连接
    channel = connection.channel()
    # 声明一个队列,用于接收消息,队列名字叫“水许传”
    channel.queue_declare(queue='SH')
    # 注意在rabbitmq中,消息想要发送给队列,必须经过交换(exchange),初学可以使用空字符串交换(exchange=''),
    # 它允许我们精确的指定发送给哪个队列(routing_key=''),参数body值发送的数据
    channel.basic_publish(exchange='', routing_key='SH', body='武松又去打老虎啦2')
    print("已经发送了消息")
    # 程序退出前,确保刷新网络缓冲以及消息发送给rabbitmq,需要关闭本次连接
    connection.close()
    
    • 接收结果
    消费者接收到了任务:'武松又去打老虎啦2'
    
  • 相关阅读:
    Cygwin下载Make
    OFDM技术的基本原理
    HNode B全面提升运营商竞争力
    定制JeOS
    什么是以太网
    Outlook Favorite Folder missing
    OFDM信号发送接收原理解析
    tgtsvr error: Cannot contact Wind Registry on host
    Windows Live Messenger去除广告 zz
    OO Unit4总结 & 结课总结
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14809845.html
Copyright © 2020-2023  润新知