消费者不承认消息

时间:2016-06-29 12:32:08

标签: python-2.7 rabbitmq message-queue amqp pika

我有一个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,它应该立即收到消息。然而,这种情况并没有发生。

1 个答案:

答案 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)