我有一个channel.basic_ack但是当我检查了rabbitmq admin ui时,它仍然没有被包装而不是被激活。这是我的消息代码
def handle_payload(self, channel, method, properties, body):
#self.taskhub.server.invoke('SendTaskNotification', body['userId'], body['taskId'])
discovery = body
channel.basic_ack(method.delivery_tag)
print "acked " + str(method.delivery_tag)
self.medium.server.invoke('DetectDevice', discovery)
据我所知,一旦调用channel.basic_ack,它应该立即收到消息。然而,这种情况并没有发生。
答案 0 :(得分:1)
Pika文档http://pika.readthedocs.io/en/0.10.0/modules/adapters/blocking.html说,delivery_tag是默认参数。 使用以下行更改上述代码:
channel.basic_ack(delivery_tag=method.delivery_tag)