Skip to content

inuits/amqpstorm-flask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AMQP Service for Flask Apps

Features

  • Connection validation and reconnection for AMQP.
  • Sending messages to a specified exchange with retries.
  • Consuming messages from a queue with retries.
  • Customizable parameters for exchanges and queues.
  • Message headers and properties support.
  • Multi-threading support for consumers.

Prerequisites

  • Python 3.x
  • Flask
  • amqpstorm
  • retry

Installation

To install the required dependencies, run:

pip install amqpstorm-flask

Usage

Initialization

First, create a Flask app and initialize the RabbitMQ.

from flask import Flask
app = Flask(__name__)
app.config["MQ_URL"] = "<Your_MQ_URL>"
app.config["MQ_EXCHANGE"] = "<Your_MQ_Exchange_Name>"

amqp_service = RabbitMQ()
amqp_service.init_app(app)

Sending Messages

To send a message to a specified exchange:

amqp_service.send(
    body={"key": "value"},
    routing_key="route.key",
    exchange_type="direct",
    retries=5,
)

Consuming Messages

To consume messages from a specified queue:

@amqp_service.queue(
    queue_name="test_queue",
    routing_key="route.key",
)
def process_message(message):
    print(message.body)