python amqp rpc库

earlgre的Python项目详细描述


厄尔格雷

earlgrey是一个python库,它提供了一种使用rabbitmq在进程之间发布和使用消息的方便方法。它被抽象为rpc模式。

如何使用

# RPC methodsclassTask:@message_queue_taskasyncdefecho(self,value):returnvalue# Client stubclassStub(MessageQueueStub[Task]):TaskType=Task# Server serviceclassService(MessageQueueService[Task]):TaskType=Taskasyncdefrun():route_key='any same string between processes'client=Stub('localhost',route_key)server=Service('localhost',route_key)awaitclient.connect()awaitserver.connect()result=awaitclient.async_task().echo('any value')print(result)# 'any value'loop=asyncio.get_event_loop()loop.run_until_complete(run())

注意

实际上MessageQueueStub不需要完全实现方法的Task类。它只需要方法的签名。

# client side.classTask:@message_queue_taskasyncdefecho(self,value):# Just signature. It is okay. Do not need implemetation.# But server must have its implementationpass

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

推荐PyPI第三方库


热门话题
java字符串。替换(regex,string)以替换XML中的内容   java Spring SOAP Web服务请求日志中XML请求有效负载的元素   java在一个类中保存作业对象并在另一个类中使用(初学者)   java无法定位com。西蒙图夫斯。奥内贾尔。在web启动中启动   java可以将Spring DAO合并到服务层吗?   使用互相关的声音文件的java时间延迟   java理解C中声明的数组指针算法   regex如何在Java中找到第一个未替换的引号?   当存在插入Spring数据JPA时进行java数据库轮询   java Axis客户端调用引发classcast异常   JavaFX ControlFX对话框中的java动作按钮css样式   使用iText Java获取空页计数   返回随机文本字段输入的java   java从spring boot stomp连接到外部activemq   java控制台错误无法找到或加载主类   java NoClassDefFoundError在尝试使用JarSigner对apk文件进行签名时出错。exe   GuavaJava:对象列表到字符串列表的可能转换   java PropertyPlaceHolderConfiguration和ResourceBundleMessageSource   java无法在回调中赋值   用于旋转变换的java简洁类(减少冗余)