用于MassTransit通信的Python RabbitMQ客户端
masstransitpython-byQ96的Python项目详细描述
说明
Python库,用于在MassTransit RabbitMQ客户端和Python应用程序之间交换消息。使用pika RabbitMQ客户端实现。在
安装
运行以下程序进行安装:
pipinstallmasstransitpython-byQ96
使用
实现了简单的接收方/发送方模型,以显示基本的包使用情况。在
配置
默认客户机配置可以如下实现:
^{pr2}$接收器
接收方必须具有适当定义的交换名称:[SOLUTION_NAME:DIRECTORY_NAME:MESSAGE_NAME]
frommasstransitpythonimportRabbitMQReceiverfromjsonimportloadsdefhandler(ch,method,properties,body):msg=loads(body.decode())print("Received message: %s"%msg["message"])# define receiverreceiver=RabbitMQReceiver(conf,'MassTransitService.Messages:SampleMessage')receiver.add_on_message_callback(handler)receiver.start_consuming()
发送器
frommasstransitpythonimportRabbitMQSenderfromjsonimportloadsdefsend_message(body):''' :param body: Message received from MassTransit client :return: None '''withRabbitMQSender(conf)assender:sender.set_exchange('MassTransitService.Messages:SampleMessage')encoded_msg=MessageEncoder().encode(SampleMessage("Hello World!"))response=sender.create_masstransit_response(loads(encoded_msg),body)sender.publish(message=response)
消息
fromjsonimportJSONEncoderclassSampleMessage:def__init__(self,name):self.name=nameclassMessageEncoder(JSONEncoder):defdefault(self,o):returno.__dict__
其他
完整示例可在https://github.com/byQ96/MassTransitPython/example中找到
- 项目
标签: