ASNCIO异步/等待NSQ支持

asyncnsq的Python项目详细描述


异步Q

DownloadsPyPI version

支持python3.6 await/async的异步nsq

如果您不喜欢pynsq(使用tornado)方式与nsq交互,则此库可能适合您

您可以使用此库作为编写内容的常用方法

重要

  • 从1.0.0版开始,AsyncNSQ在API中有中断更改

  • 还不稳定

  • 您可能需要使用稳定的“pip install asyncnsq==0.4.5”

功能


http客户端

  • 支持nsq http提供的所有方法

TCP客户端

连接
  • 低电平连接。

读卡器

  • 来自两个lookupd的读卡器,用于自动查找nsqd

  • 已知NSQD的列表,但它们不能一起使用。

  • 以上两种不能同时使用

写入程序

  • nsqd writer的所有常用方法

安装


pip安装asyncnsq

用法示例


你只需要一个循环,然后享受。你也可以参考例子。

消费者:

fromasyncnsqimportcreate_readerfromasyncnsq.utilsimportget_loggerloop=asyncio.get_event_loop()asyncdefgo():try:reader=awaitcreate_reader(nsqd_tcp_addresses=['127.0.0.1:4150'],max_in_flight=200)awaitreader.subscribe('test_async_nsq','nsq')asyncformessageinreader.messages():print(message.body)awaitmessage.fin()exceptExceptionastmp:self.logger.exception(tmp)loop.run_until_complete(go())

制作人:

fromasyncnsqimportcreate_writerloop=asyncio.get_event_loop()asyncdefgo():writer=awaitcreate_writer(host='127.0.0.1',port=4150,heartbeat_interval=30000,feature_negotiation=True,tls_v1=True,snappy=False,deflate=False,deflate_level=0,loop=loop)foriinrange(100):awaitwriter.pub('test_async_nsq','test_async_nsq:{i}'.format(i=i))awaitwriter.dpub('test_async_nsq',i*1000,'test_delay_async_nsq:{i}'.format(i=i))loop.run_until_complete(go())

要求

  • Python3.5+https://www.python.org

  • NSQ http://nsq.io

  • Python敏捷

    1. 乌班图:
      • sudo apt get install libsnappy dev
      • pip安装python snappy
    2. 中心:
      • sudo yum install snappy devel
      • pip安装python snappy
    3. 麦克:
      • brew从google安装snappy snappy库
      • cppflags=“-i/usr/local/include-l/usr/local/lib”pip安装python snappy

许可证

asyncnsq是在mit许可下提供的。

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

推荐PyPI第三方库


热门话题
spring boot+react+mysql连接器上的java构建失败?   java如何从动态标题/文本中仅提取数字?   Eclipse java类在方法注释后插入新行   java是否在makefiles文档中指定了两次编译?   java在Spring拦截url配置中,ROLE_USER和ROLE_ANONYMOUS之间有什么区别?   sql上相同参数的java多值   java将安卓应用程序连接到本地MS SQL数据库   java在运行时收到谓词函数的名称时,如何将一个函数作为谓词传递给另一个函数?   java Lambda输入文件到数组中   java如何在数组中搜索元素?以及如何将声明了方法的变量添加到数组列表中?   java如何按列对分布在众多json文件中的数据进行分组   安装pyjnius时发生java错误,未找到“jni.h”。(操作系统X 10.10.1)   java Android:CursorIndexOutOfBoundsException:请求索引0,大小为0,站点上没有答案   java My应用程序不回退IBM MQ消息   JAVAutil。扫描器Java扫描器或缓冲读取器   java缩短开关盒方法   java获取当前文件夹中的可用空间   Java属性绑定   java如何制作注释类型的AnnotationProcessor测试*子类型*?