1. 安装RabbitMQ
编写docker-compose.yml文件
2. RabbitMQ 生产数据
import pika
def send_message():
# Connection parameters including authentication
credentials = pika.PlainCredentials('guest', 'guest')
parameters = pika.ConnectionParameters(host='10.254.2.186', credentials=credentials)
# Establish a connection
connection = pika.BlockingConnection(parameters)
channel = connection.channel()
# Declare a queue
queue_name = 'example_queue'
channel.queue_declare(queue=queue_name)
# Publish a message
message = "Hello, RabbitMQ!"
channel.basic_publish(exchange='', routing_key=queue_name, body=message)
print(" [x] Sent %r" % message)
connection.close()
if __name__ == '__main__':
send_message()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
3. RabbitMQ 消费数据
import pika
def receive_messages():
# Connection parameters including authentication
credentials = pika.PlainCredentials('guest', 'guest')
parameters = pika.ConnectionParameters(host='10.254.2.186', credentials=credentials)
# Establish a connection
connection = pika.BlockingConnection(parameters)
channel = connection.channel()
# Declare a queue (this step is optional since it was declared by the sender)
queue_name = 'example_queue'
channel.queue_declare(queue=queue_name)
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
# Start consuming messages
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
if __name__ == '__main__':
receive_messages()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.