问题描述
异步行为的一个特征是,它不等待处理当前要完成的请求,然后再处理下一个请求。
在最近对pika + RabbitMQ的探索中,我想通过使用pika SelectConnection()
适配器来验证以上内容。我已经为实验写了publisher code (pub.py)和consumer code (cons.py)。
我计划分别在shell终端中分别运行 pub.py 和 cons.py ,发布者将快速连续发送任意消息,并实时接收由消费者。为了查看异步行为的效果,每当消费者收到后缀为“ -10s”的消息时,消费者都会伪造一个较长的过程(使用time.sleep(10)
时要延迟10秒)。
我希望使用者显示在使用者仍在处理“ -10s”消息时发送的后续消息。但是,事实并非如此。
我看到的是消费者暂停了“ -10s”消息,并且仅在完成“ -10s”消息上的 后立即显示后续消息。这表明同步行为。
我的理解或编写的测试代码有问题吗?我想我真的可以在这里使用一些建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)