实现发布者/订阅者模式的消息服务

apubsub的Python项目详细描述


阿普苏布

Build StatusCoveragePyPI versionGitHub

简单、单一用途的消息服务实现。在

安装

Python versin 3.7+必需

只需使用pip安装它:pip install apubsub

用法

fromapubsubimportServiceservice=Service()# Note that service is started in stand-alone process# so start it as early as possible to minimize resource pickling*service.start()classKlass:def__init__(self):self.sub=service.get_client()awaitself.sub.start_consuming()# subscriber should be startedself.pub=service.get_client()# if used only as publisher, it is not requiredasyncdefdo_smth(self):data=awaitself.sub.get(.1)# fetch received data with timeoutifdataisNone:print("No data received by subscriber")returnprint(data)asyncdefdo_smth_else(self):msg="some string data"awaitself.pub.publish("topic",msg)asyncdefuse_iter_get(self):asyncfordatainself.sub.get_iter():print(f"Data received: {data}")

查看更多测试示例

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?