【问题标题】:How to set a pyzmq socket queued timeout如何设置 pyzmq 套接字排队超时
【发布时间】:2012-10-16 16:34:30
【问题描述】:

我已经连接 zeromq,“msg_in”已经排队。如果在该时间段内没有新消息队列到来,则设置超时。如何设置超时。以下是核心代码

requestDict = {"id":111, "name":"test"}
zmqConn.mSocket.send(json.dumps(requestDict), flags=zmq.NOBLOCK)
msg_in = zmqConn.mSocket.recv()

【问题讨论】:

    标签: zeromq pyzmq


    【解决方案1】:

    你应该使用 Poller 来处理超时:

    import zmq
    p = zmq.Poller()
    p.register(zmqConn.mSocket, zmq.POLLIN)
    
    msgs = dict(p.poll(timeout)) 
    if zmqConn.mSocket in msgs and msgs[zmqConn.mSocket] == zmq.POLLIN:
       # recv there
    else:
       # timeout
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      • 2012-04-20
      • 2012-11-12
      • 2010-09-18
      • 1970-01-01
      相关资源
      最近更新 更多