用于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中找到

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNI和取消异步任务   java整数n作为List<String>的第二个参数传递。子列表(fromIndex,toIndex),但是stacktrace说toIndex在Kotlin中是n+2   如何在Java中正确嵌套多个ArrayList/Maps?   在嵌套条件语句中比较数组中的值时,java List没有打印正确的值   从CRON作业运行java代码   JRE使用jvisualvm检测到java致命错误   java将字符添加到BufferedReader中   带有枚举的java单例与带有双重检查锁定的单例   Java中的编译器构造基类的更改会影响子类的字节码吗?   Java作为Windows服务用户数据路径   java clone():ArrayList。克隆人()我认为它是一个肤浅的复制品   在jfilechooser多文件选择器启用中打开对话框后,java文件将显示所选文件   java在常用的操作方法中使用反射可以吗?   java ReloadableResourceBundleMessageSource。getMessage()不使用我给它的参数