Skip to main content

AMQP support for Sanic framework

Project description

AMQP support for Sanic framework

Features

  • Based on the aioamqp library

  • Provides an opportunity to implement workers that works in background

Installation

This package should be installed using pip:

pip install sanic-amqp-extension

Example

from sanic import Sanic, response
from sanic_amqp_ext import AmqpExtension, AmqpWorker


app = Sanic(__name__)
# Configuration for RabbitMQ
app.config.update({
    "AMQP_USERNAME": "guest",
    "AMQP_PASSWORD": "guest",
    "AMQP_HOST": "localhost",
    "AMQP_PORT": 5672,
    "AMQP_VIRTUAL_HOST": "vhost",
    "AMQP_USING_SSL": False,
})
AmqpExtension(app) # AMQP is available as `app.amqp` or `app.extensions['amqp']`


class CustomWorker(AmqpWorker):

    async def run(self, *args, **kwargs):
        transport, protocol = await self.connect()  # create a new connection
        # and do some stuff here ...

# Register workers after initializing the extension
app.amqp.register_worker(CustomWorker(app))


@app.route("/")
async def handle(request):
    transport, protocol = await request.app.amqp.connect()  # create a new connection
    # do some stuff here ...
    # P.S. but don't forget to close the connection after using
    return response.text("It's works!")

License

The sanic-amqp-extension is published under BSD license. For more details read LICENSE file.

Real project examples

Open Matchmaking project:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanic-amqp-extension-0.2.0.tar.gz (4.3 kB view details)

Uploaded Source

File details

Details for the file sanic-amqp-extension-0.2.0.tar.gz.

File metadata

  • Download URL: sanic-amqp-extension-0.2.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for sanic-amqp-extension-0.2.0.tar.gz
Algorithm Hash digest
SHA256 59d308de7f6412f231bbb577fea654375b2665c946146b54892cc2114e027133
MD5 a1d425230c4887bf970804ec9b31e564
BLAKE2b-256 71d0b4d8d83d66e7803b498e236c1e36f65385514ff450b86a581534620087db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page