实践
不要在收到消息后就立即发送消费确认,而是应该在执行完所有消费业务逻辑之后,再发送消费确认。
def callback(ch, method, properties, body):<br> print(" [x] 收到消息 %r" % body)<br> # 在这儿处理收到的消息<br> database.save(body)<br> print(" [x] 消费完成")<br> # 完成消费业务逻辑后发送消费确认响应<br> ch.basic_ack(delivery_tag = method.delivery_tag)<br>channel.basic_consume(queue='hello', on_message_callback=callback)