zoukankan      html  css  js  c++  java
  • RabbitMQ消息队列(一): 简单队列

    1. 示例选用python的pika模块进行测试,需要预先安装pika模块;

    https://pypi.python.org/pypi/pika/0.10.0#downloads

    上述地址下载源码,加压,执行如下命令安装:

    python setup.py build
    
    python setup.py install

    2. 简单队列模型中包含一个生产者,一个消息队列,一个消费者,使用默认交换;

    3. 测试代码:

    send.py--生产者,负责发送消息

     1 #!/usr/bin/env python
     2 import pika
     3 
     4 connection = pika.BlockingConnection(pika.ConnectionParameters(
     5         host='localhost'))
     6 channel = connection.channel()
     7 
     8 channel.queue_declare(queue='hello')
     9 
    10 channel.basic_publish(exchange='',
    11                       routing_key='hello',
    12                       body='Hello World!')
    13 print(" [x] Sent 'Hello World!'")
    14 connection.close()

    reveiver.py--消费者,负责接收消息

     1 #!/usr/bin/env python
     2 import pika
     3 
     4 connection = pika.BlockingConnection(pika.ConnectionParameters(
     5         host='localhost'))
     6 channel = connection.channel()
     7 
     8 channel.queue_declare(queue='hello')
     9 
    10 def callback(ch, method, properties, body):
    11     print(" [x] Received %r" % body)
    12 
    13 channel.basic_consume(callback,
    14                       queue='hello',
    15                       no_ack=True)
    16 
    17 print(' [*] Waiting for messages. To exit press CTRL+C')
    18 channel.start_consuming()

    上述例子中,send.py只执行一次,发送一条消息,receiver.py循环接收消息,直到发送命令结束接收;

    发送消息:

    python send.py

    接收消息:

    python receive.py
     [*] Waiting for messages. To exit press CTRL+C
     [x] Received 'Hello World!'
     [x] Received 'Hello World!'
  • 相关阅读:
    Chapter 7 Integrity(完整性), Views(视图), Security(安全性), and Catalogs(目录)
    Qt计时器
    linux命令:linux文件处理命令
    JSON.stringify()的不常见用法
    flex知识点归纳
    css伪类
    开发资源汇总
    Math.cbrt() Math.sqrt() Math.pow()
    代码开发注意事项和规范
    关于数组数据容易忽略的点
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/5287692.html
Copyright © 2011-2022 走看看