RabbitMQ 应用程序框架
项目描述
兔子巴士
感觉 RabbitMQ 像 HTTP
- 自定义 CorrelationManager
- 正则表达式路线
安装
RabbitBus 需要 Python 3.6 >,aioamqp。
安装依赖项和库。
$ pip install rabbitbus
例子:
import asyncio
from rabbitbus.manager import DatabusApp, Configuration
from rabbitbus.acks.requests import AmqpRequest
from rabbitbus.acks.responses import AckResponse
async def my_view(request: AmqpRequest):
# Write your code here
return AckResponse(request)
def serve():
loop = asyncio.get_event_loop()
# Inherit from CorrelationManager for custom correlation storages
app = DatabusApp(conf=Configuration())
app.add_route(r'^CASH_REGISTER_EQUIPMENTS[a-zA-Z_]{4}$', my_view)
app.start(loop)
if __name__ == '__main__':
serve()
如果消息具有 reply_to 属性,您可以做出如下响应
from rabbitbus.acks.requests import AmqpRequest
from rabbitbus.acks.responses import AckResponse
async def my_view(request: AmqpRequest):
# Write your code here
return AckResponse(request, data={"result": 1})
“reply_to”将转换为“routing_key”,消息将发布到应用程序交换。有关 RPC 的更多信息,您可以在 RabbitMQ 文档中阅读