2

异步行为的一个特点是它不会在处理下一个请求之前等待当前请求的处理完成。

SelectConnection()在我最近对 ​​Pika + RabbitMQ 的探索中,我想通过使用 Pika适配器来验证上述内容。我已经为实验编写了发布者代码 ( pub.py )消费者代码 ( cons.py )

我计划在 shell 终端中分别运行pub.pycons.py一次,发布者将在其中快速连续发送任意消息,并看到它被消费者实时接收。为了查看实际的异步行为,消费者将time.sleep(10)在收到后缀为“-10s”的消息时伪造一个长进程(使用 10 秒延迟)。

我期待消费者显示在消费者仍在处理“-10s”消息时发送的后续消息。然而,事实并非如此。

我看到的是消费者在“-10s”消息上暂停,仅在“-10s”消息的工作完成后才显示后续消息。这表明了同步行为。

我的理解或我编写的测试代码有问题吗?我想我真的可以在这里使用一些建议。

4

0 回答 0