Прослушивание POLLIN на FD в Gevent - PullRequest
2 голосов
/ 25 августа 2011

Я хочу подключить ZeroMQ к циклу Gevent.Используя API ZeroMQ, я могу получить fd для сокета.Как просмотреть этот сокет для событий POLLIN в гринлете, не блокируя другие гринлеты?

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Проверьте gevent-zeromq на github / pypi

1 голос
/ 27 сентября 2011
# 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 или расширить его для поддержки вашего варианта использования.

0 голосов
/ 17 сентября 2011

Вот пример из ZeroMQ. Запрос-ответ брокера http://zguide.zeromq.org/py:rrbroker Он прослушивает событие POLLIN и при использовании gevent-zeromq не блокирует другие потоки.

Делай это, что ты искал?

...