对SANIC框架的AMQP支持
sanic-amqp-extension的Python项目详细描述
对SANIC框架的AMQP支持
功能
- 基于aioamqp库
- 提供实施在后台工作的工人的机会
安装
此软件包应使用pip:
pip install sanic-amqp-extension
示例
fromsanicimportSanic,responsefromsanic_amqp_extimportAmqpExtension,AmqpWorkerapp=Sanic(__name__)# Configuration for RabbitMQapp.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']`classCustomWorker(AmqpWorker):asyncdefrun(self,*args,**kwargs):transport,protocol=awaitself.connect()# create a new connection# and do some stuff here ...# Register workers after initializing the extensionapp.amqp.register_worker(CustomWorker(app))@app.route("/")asyncdefhandle(request):transport,protocol=awaitrequest.app.amqp.connect()# create a new connection# do some stuff here ...# P.S. but don't forget to close the connection after usingreturnresponse.text("It's works!")
许可证
SANIC AMQP扩展是在BSD许可下发布的。有关详细信息,请阅读LICENSE文件。