| 1234567891011121314151617181920212223242526272829303132 |
- # -*- coding: utf-8 -*-
- import pika
- import sys
- user_info = pika.PlainCredentials('user', 'J70e6K7BRrxrU1dO')
- connection = pika.BlockingConnection(
- pika.ConnectionParameters('rabbitmq.rabbitmq.svc.cluster.local', 5672, '/', user_info)
- )
- channel = connection.channel()
- # 1. 声明优先级队列,最多支持 10 个优先级
- channel.queue_declare(
- queue='priority_queue',
- durable=True,
- arguments={'x-max-priority': 10}
- )
- # 2. 从命令行读取优先级和消息
- priority = int(sys.argv[1]) if len(sys.argv) > 1 else 0
- message = ' '.join(sys.argv[2:]) or f'Message with priority {priority}'
- channel.basic_publish(
- exchange='',
- routing_key='priority_queue',
- body=message,
- properties=pika.BasicProperties(
- priority=priority, # 关键
- delivery_mode=2 # 持久化
- )
- )
- print(f" [x] Sent priority={priority}: {message}")
- connection.close()
|