There is a concept of heartbeats. It's basically a way how the server can make sure that the client is still connected. when you do time.sleep( body.count('.') ) You blocking the code by N number of seconds. It means that if server would like to send a heartbeat frame to check if your client is still alive, then it will not get a response back, because your code is blocked and doesn't know if heartbeat arrived. Instead of using time.sleep() you should use connection.sleep() this will also make the code "sleep" for N number of seconds, but it will also communicate with the server and will respond back.
2，使用不当，设计不当，使用ttl 导致数据在rabbitmq 中d