Руководство по RabbitMQ: методы и примеры кода для очереди сообщений

При работе с RabbitMQ вы можете использовать несколько методов. Вот несколько примеров с фрагментами кода:

  1. Публикация сообщения:

    import pika
    # Establish a connection to RabbitMQ
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    # Declare a queue
    channel.queue_declare(queue='my_queue')
    # Publish a message
    channel.basic_publish(exchange='', routing_key='my_queue', body='Hello, RabbitMQ!')
    # Close the connection
    connection.close()
  2. Потребление сообщений:

    import pika
    # Establish a connection to RabbitMQ
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    # Declare a queue
    channel.queue_declare(queue='my_queue')
    # Define a callback function
    def callback(ch, method, properties, body):
    print("Received message:", body)
    # Consume messages
    channel.basic_consume(queue='my_queue', on_message_callback=callback, auto_ack=True)
    # Start consuming
    channel.start_consuming()
  3. Настройка подтверждения сообщений:

    import pika
    # Establish a connection to RabbitMQ
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    # Declare a queue
    channel.queue_declare(queue='my_queue')
    # Define a callback function
    def callback(ch, method, properties, body):
    print("Received message:", body)
    ch.basic_ack(delivery_tag=method.delivery_tag)  # Send acknowledgment
    # Consume messages with acknowledgments
    channel.basic_consume(queue='my_queue', on_message_callback=callback)
    # Start consuming
    channel.start_consuming()

Это всего лишь несколько примеров работы с RabbitMQ с использованием клиентской библиотеки Python pika. Доступно множество других методов и функций, таких как маршрутизация сообщений, обмен сообщениями и т. д., в зависимости от вашего конкретного варианта использования.