2

我想将 ZeroMQ 连接到 gevent 循环。使用 ZeroMQ API,我可以获取套接字的 fd。如何在不阻塞其他 greenlet 的情况下在 greenlet 中查看此套接字的 POLLIN 事件?

4

3 回答 3

2

查看 github/pypi 上的 gevent-zeromq

于 2011-08-25T02:02:20.570 回答
1
# for gevent >= 1.0
hub = gevent.get_hub()
watcher = hub.loop.io(fd, 1)  # 1 = READ, 2 = WRITE, 3 = READ|WRITE
hub.wait(watcher)
# fd is now ready for reading

但是,最好弄清楚如何为此使用 gevent-zeromq 或扩展它以支持您的用例。

于 2011-09-27T11:48:57.013 回答
0

这是来自 ZeroMQ 的示例。请求-回复代理http://zguide.zeromq.org/py:rrbroker 它监听 POLLIN 事件并且使用 gevent-zeromq 不会阻塞其他线程。

这样做是您想要的吗?

于 2011-09-16T21:24:35.397 回答