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:
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
|