我应该如何处理ZMQ中的轮询node.js?

2024-06-10 20:10:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建造一个偏执的海盗节点.js. 从一些python代码开始:

poller = zmq.Poller()

liveness = HEARTBEAT_LIVENESS
interval = INTERVAL_INIT

heartbeat_at = time.time() + HEARTBEAT_INTERVAL

worker = worker_socket(context, poller)
cycles = 0
while True:
    socks = dict(poller.poll(HEARTBEAT_INTERVAL * 1000))

    # Handle worker activity on backend
    if socks.get(worker) == zmq.POLLIN:
        #  Get message
        #  - 3-part envelope + content -> request
        #  - 1-part HEARTBEAT -> heartbeat
        frames = worker.recv_multipart()

Go示例代码还使用轮询器。在

我遇到的问题是zeromq.node doesn't seem to use Pollers。node中的解决方案是只对消息使用回调吗?我应该如何处理POLLIN状态?在


Tags: 代码node节点timejszmqworkerinterval
1条回答
网友
1楼 · 发布于 2024-06-10 20:10:36

轮询器中是多余的节点.js. 所有这些都只是对邮件回执的回拨。在node中使用ZMQ需要稍微改变一下“传统”ZMQ方法和架构,因为所有用于非阻塞和事件处理的内置策略都被卸载到node上,node自然地处理这些问题。在

相关问题 更多 >