Все о Pika: история, возможности, игры и многое другое
Pika - это клиентский библиотека для работы с брокерами сообщений RabbitMQ. Она написана на языке Python и позволяет создавать сообщения, отправлять их в очередь и обрабатывать полученные сообщения.
Примеры кода на использование Pika для отправки сообщения в очередь RabbitMQ:
python
import pika
# Подключаемся к брокеру сообщений RabbitMQ
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
# Объявляем очередь, в которую будут отправляться сообщения
channel.queue_declare(queue='hello')
# Отправляем сообщение в очередь
channel.basic_publish(exchange='',
routing_key='hello',
body='Hello World!')
print(" [x] Sent 'Hello World!'")
# Закрываем соединение
connection.close()
Примеры кода на использование Pika для обработки полученных сообщений из очереди RabbitMQ:
python
import pika
# Объявляем функцию-обработчик для полученных сообщений
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
# Подключаемся к брокеру сообщений RabbitMQ
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
# Объявляем очередь, из которой будут получаться сообщения
channel.queue_declare(queue='hello')
# Задаем функцию-обработчик для полученных сообщений
channel.basic_consume(queue='hello',
on_message_callback=callback,
auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
В данном примере мы объявляем функцию-обработчик `callback`, которая будет вызываться при получении сообщения из очереди. Затем мы подключаемся к брокеру сообщений RabbitMQ и объявляем очередь, из которой будут получаться сообщения. Далее мы задаем функцию-обработчик для этой очереди и запускаем получение сообщений в бесконечном цикле с помощью метода `channel.start_consuming()`.