用于nsq的基于gevent的python客户端。
gnsq的Python项目详细描述
基于gevent的python客户端,用于NSQ分布式消息传递平台。
功能包括:
- 免费软件:BSD许可证
- 文档:https://gnsq.readthedocs.org
- 对数十亿条信息进行了测试
- 基于gevent的快速并发网络
- 具有{a8} 的快速灵活信号
- 自动nsqlookupd发现并退出
- 支持TLS、Deflate和Snappy
- nsqd和nsqlookupd的完整http客户端
安装
在命令行:
$ easy_install gnsq
如果您安装了virtualenvwrapper,则效果更好:
$ mkvirtualenv gnsq $ pip install gnsq
目前支持python 2.7+、python 3.4+和pypy。
用法
首先确保nsq是installed and running。接下来创建一个生产者 发布一些消息到您的主题:
import gnsq producer = gnsq.Producer('localhost:4150') producer.publish('topic', 'hello gevent!') producer.publish('topic', 'hello nsq!')
然后创建一个消费者来使用您主题中的消息:
consumer = gnsq.Consumer('topic', 'channel', 'localhost:4150') @consumer.on_message.connect def handler(consumer, message): print 'got message:', message.body consumer.start()
兼容性
对于nsq 1.0及更高版本,请使用gnsq的主要版本1(1.x.y)。
对于nsq 0.3.8和更早版本,请使用 图书馆。
在setup.py中设置需求的推荐方法 requirements.txt是:
# NSQ 1.x.y gnsq>=1.0.0 # NSQ 0.x.y gnsq<1.0.0
依赖关系
可选的snappy支持取决于python snappy包 取决于libsnapy:
# Debian $ sudo apt-get install libsnappy-dev # Or OS X $ brew install snappy # And then install python-snappy $ pip install python-snappy
贡献
反馈、问题和贡献总是受到感激的欢迎。见 contributing guide了解有关如何帮助和设置开发的详细信息 环境。