Make the dispatcher responsible of the message ack

This patch make the dispatcher responsible of the message
acknowledgement.

This is the preliminar step to be able to requeue message.

Partial implements blueprint notification-subscriber-server

Change-Id: If74b47d5e23976d407deb27df7395b1982963c75
This commit is contained in:
Mehdi Abaakouk 2013-12-11 16:50:09 +01:00
parent 8a644c1166
commit e785a5d994
3 changed files with 3 additions and 3 deletions

View File

@ -90,9 +90,7 @@ class AMQPListener(base.Listener):
def poll(self):
while True:
if self.incoming:
message = self.incoming.pop(0)
message.acknowledge()
return message
return self.incoming.pop(0)
self.conn.consume(limit=1)

View File

@ -60,6 +60,7 @@ class NotificationDispatcher(object):
@contextlib.contextmanager
def __call__(self, incoming):
yield lambda: self._dispatch_and_handle_error(incoming)
incoming.acknowledge()
def _dispatch_and_handle_error(self, incoming):
"""Dispatch a notification message to the appropriate endpoint method.

View File

@ -124,6 +124,7 @@ class RPCDispatcher(object):
@contextlib.contextmanager
def __call__(self, incoming):
incoming.acknowledge()
yield lambda: self._dispatch_and_reply(incoming)
def _dispatch_and_reply(self, incoming):