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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59d308de7f6412f231bbb577fea654375b2665c946146b54892cc2114e027133 |
|
MD5 | a1d425230c4887bf970804ec9b31e564 |
|
BLAKE2b-256 | 71d0b4d8d83d66e7803b498e236c1e36f65385514ff450b86a581534620087db |