zmq.asyncio.ZMQEventLoop可以像普通的asyncio事件循环一样使用吗?

时间:2016-03-14 18:13:41

标签: zeromq python-asyncio pyzmq

我正在尝试在ZMQ套接字和websocket之间转发数据。 websockets库通常使用如下:

start_server = websockets.serve(handler, 'localhost', 8000)
asyncio.get_event_loop().run_until_complete(start_server)

现在,ZMQ似乎需要its own event loop

loop = zmq.asyncio.ZMQEventLoop()
asyncio.set_event_loop(loop)
start_server = websockets.serve(handler, 'localhost', 8000);
loop.run_until_complete(start_server)

但我得到的错误是这样的:

[...]
  File "[...]/env/lib/python3.4/site-packages/zmq/asyncio.py", line 71, in register
    raise ValueError("Invalid events: %r" % events)
ValueError: Invalid events: 3

可以像这样使用ZMQEventLoop吗?

(对我对asyncio的粗略了解抱歉)

更新

原来这是a bug in pyzmq。更新到版本15.2.0修复了该问题。

0 个答案:

没有答案