2016-06-29 29 views
0

Ich habe eine channel.basic_ack jedoch, wenn ich in der Rabbitmq Admin UI eincheck, bleibt es unplugged eher als acked. Hier ist mein Code die NachrichtConsumer nicht zur Kenntnisnahme Nachricht

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) 

ack Zu meinem Verständnis sollte es die Nachricht ack sobald channel.basic_ack genannt wird. Dies geschieht jedoch nicht.

Antwort

0

Pika Dokumentation http://pika.readthedocs.io/en/0.10.0/modules/adapters/blocking.html sagt, Delivery_tag ist ein Standardparameter. mit dem unterhalb der Linie den obigen Code ändern:



channel.basic_ack(delivery_tag=method.delivery_tag) 

+0

ich dies versucht haben, und scheint nicht – Johnathon64

+0

mir die channel.basic_consume Anweisung ack senden lassen Sie mich auf sie überprüfen. –