zoukankan      html  css  js  c++  java
  • RabbitMQ(一) -- Hello world

    RabbitMQ -- Hello world

    RabbitMQ使用AMQP通信协议(AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。)。

    安装

    具体教程参考:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

    安装python的开发库

    sudo pip install pika==0.9.8

    安装rabbitmq服务

    sudo apt-get install rabbitmq-server

    启动rabbit服务

    rabbitmq-server start

    Hello World

    发送

    • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
    • 通过queue_declare来创建一个消息队列
    • 发送消息basic_publish
    • 关闭链接close
    #!/usr/bin/env python
    # coding=utf-8
    
    import pika
    
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    
    channel.queue_declare(queue='hello')
    
    channel.basic_publish(exchange='', routing_key='hello', body='hello world!')
    
    print 'Sent "hello world"'
    
    connection.close()

    接收

    • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
    • 通过queue_declare来创建一个消息队列(推荐,由于接收之前消息队列有可能并没有创建过)
    • 指定消息队列和回调函数basic_consume
    • 开始接受消息start_consuming
    #!/usr/bin/env python
    # coding=utf-8
    
    import pika
    
    def callback(ch, method, properties, body):
    print 'receive %r'%body
    
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    
    channel.queue_declare(queue='hello')
    
    channel.basic_consume(callback, queue='hello', no_ack=True)
    
    channel.start_consuming()
  • 相关阅读:
    python3调用js的库之execjs
    字体替换 re.sub
    asyncio和aiohttp
    微信公众号数据抓取
    celery
    Airtest 的连接安卓模拟器
    Scrapy同时启动多个爬虫
    随机IP代理插件Scrapy-Proxies
    Charles和mitmproxy代理设置
    win下删除EFI分区
  • 原文地址:https://www.cnblogs.com/coder2012/p/4338367.html
Copyright © 2011-2022 走看看