为什么几乎所有ZeroMQ代码示例都包含sleep()操作?

时间:2018-06-12 15:37:02

标签: zeromq distributed-computing

我正在学习ZeroMQ并尝试在Python中构建一个简单的消息队列。

我注意到基本上所有代码示例都包含某种sleep()操作。

即使是ZeroMQ指南中的hello world示例也是如此,评论为"Do some work"

我发现这有点不清楚,是否有动机来模拟处理消息的行为?为什么这有必要?

import time
import zmq

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")

while True:
    #  Wait for next request from client
    message = socket.recv()
    print("Received request: %s" % message)

    #  Do some 'work'
    time.sleep(1)

    #  Send reply back to client
    socket.send(b"World")

1 个答案:

答案 0 :(得分:1)

  

是模拟处理邮件行为的动机吗?

是的。启动 while True: "没有"任何 手刹 在屏幕上很快就会变得非常丑陋,只有print() - s的无尽运行的河流,不会吗?

  

为什么这有必要?

只是一个便宜的SLOC /便利技巧。除了需要注入一些延迟的情况外, sleep() -s

没有技术原因