python rabbitmq是什么

1、当信息在一个队列中变成死信时,可以重新发送到DLX,绑定DLX的队列称为rabbitmq。

也叫死信队列。

2、常用于订单超时自动取消,会议预订提前提醒等等。

实例

importpika
importjson
importtime

credentials=pika.PlainCredentials('admin','admin')#mq用户名和密码
#虚拟队列需要指定参数virtual_host,如果是默认的可以不填。
connection=pika.BlockingConnection(pika.ConnectionParameters(host='127.0.0.1',port=5672,credentials=credentials))
channel=connection.channel()
#声明消息队列,消息将在这个队列传递,如不存在,则创建
queue_name="delay_queue_a"
exchange='delay_exchange_a'
routing_key='delay_routing_key_a'
dead_letter_exchange='dead_exchange_a'#'amq.direct'#'dead_exchange_a'
dead_letter_routing_key='dead_letter_routing_key_a'#'dead_queue_a'#'dead_letter_routing_key_a'
arguments={
"x-message-ttl":5000,
'x-dead-letter-exchange':dead_letter_exchange,
'x-dead-letter-routing-key':dead_letter_routing_key
}

channel.confirm_delivery()

channel.exchange_declare(exchange=exchange,durable=True,exchange_type='direct')
result=channel.queue_declare(queue=queue_name,durable=False,arguments=arguments)
channel.queue_bind(exchange=exchange,queue=queue_name,routing_key=routing_key)
foriinrange(10):
message=json.dumps({'OrderId':i})
#向队列插入数值routing_key是队列名
channel.basic_publish(exchange=exchange,routing_key=routing_key,body=message,
properties=pika.BasicProperties(delivery_mode=2))
print(message)
time.sleep(1.5)

connection.close()

以上就是python rabbitmq的介绍,希望对大家有所帮助。更多Python学习指路:Python基础教程

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。