product.py 

#!/usr/bin/python

#coding:utf-8

import pika

import random

import time

credentials = pika.PlainCredentials('rabbitadmin','xxxx')

parameters = pika.ConnectionParameters('x.x.x.x',5672,'/',credentials)

connection = pika.BlockingConnection(parameters)

channel = connection.channel()

channel.queue_declare(queue='first_queue',durable=True)    ###durable只是queue持久化(不代表消息持久化)

i = 0

while i < 5000:

    time.sleep(random.random())

    a = '{} message'.format(i)

    channel.basic_publish(exchange='',routing_key='first_queue',body=a,properties=pika.BasicProperties(delivery_mode=2,))  ##delivery_mode为2时,消息会保存到本地

    i += 1

connection.close()

注意: 

delivery_mode=2是一个常量设置

TRANSIENT_DELIVERY_MODE = 1 

PERSISTENT_DELIVERY_MODE = 2 

两个常量用以区分短暂消息和持久消息。在RabbitQM官网中规定了delivery_mode 1和2分别指定的消息类型。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注