Home | Trees | Indices | Help |
|
---|
|
1 # encoding: utf-8 2 3 """Blocking immediate delivery manager. 4 5 This delivers messages as soon as it is enqueued, without using threading.""" 6 7 8 import logging 9 10 from turbomail.api import Manager 11 from turbomail.exceptions import TransportExhaustedException 12 13 14 __all__ = ['load'] 15 16 log = logging.getLogger("turbomail.manager") 17 18 1921 return ImmediateManager()22 2325 name = "immediate" 266328 log.info("Immediate manager starting up.") 29 self.transport = None 30 super(ImmediateManager, self).__init__() 31 log.info("Immediate manager ready.")32 37 4143 log.info("Attempting delivery of message %s." % message.id) 44 45 # If the parent fails, we fail. 46 if not super(ImmediateManager, self).deliver(message): 47 log.debug("Parent failure.") 48 return False 49 50 if not self.transport: 51 self.transport = self.get_new_transport() 52 try: 53 self.transport.deliver(message) 54 log.info("Delivery of message %s successful." % message.id) 55 except TransportExhaustedException: 56 log.debug("Transport exhausted.") 57 self._shutdown_transport() 58 self.deliver(message) 59 except: 60 log.error("Delivery of message %s failed." % message.id) 61 raise 62 return True
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri May 28 17:01:40 2010 | http://epydoc.sourceforge.net |