ningleesherry 发表于 2018-8-4 07:34:32

Python3 通过 pika 连接 RabbitMQ 的基本用法

#encoding: utf-8  
#author: walker
  
#date: 2018-01-31
  
#summary: 发送方/生产者
  

  
import os, sys, time
  
import pika
  

  
def Main():
  credentials = pika.PlainCredentials("test", "test")
  parameters = pika.ConnectionParameters(host="192.168.0.xx",
  virtual_host='vhosttest',
  credentials=credentials)
  connection = pika.BlockingConnection(parameters)    # 连接 RabbitMQ
  

  channel = connection.channel()          # 创建频道
  queue = channel.queue_declare(queue='queuetest')   # 声明或创建队列
  while True:# 循环向队列中发送信息
  message = time.strftime('%H:%M:%S', time.localtime())
  channel.basic_publish(exchange='exchangetest',
  routing_key='rkeytest',
  body=message)
  print('send message: %s' %message)
  

  while True:
  # 检查队列,以重新得到消息计数
  queue = channel.queue_declare(queue='queuetest', passive=True)
  '''
  queue.method.message_count 获取的为 ready 的消息数
  截至 2018-03-06(pika 0.11.2)
  walker 没找到利用 pika 获取 unack 或者 total 消息数的方法
  '''
  messageCount = queue.method.message_count
  print('messageCount: %d' % messageCount)
  if messageCount < 100:
  break
  connection.sleep(1)
  # 关闭连接
  connection.close()
  

  
if __name__ == '__main__':
  Main()
页: [1]
查看完整版本: Python3 通过 pika 连接 RabbitMQ 的基本用法