Example #1
0
class Task(Action):
    """
        Use deferred to detach action execution from 
        from caller, allowing registration by caller 
        to task for getting results asynchronously.
    """
    def __init__(self, *args, **kw):
        self.deferred = Deferred()
        super(Task, self).__init__(*args, **kw)
    def get_deferred(self):
        return self.deferred
    def invoke(self, *args, **kw):
        try:
            result = super(Task, self).invoke(*args, **kw)
        except Exception, error:
            msglog.log('broadway', msglog.types.WARN, 
                       "Task '%s' execution failed." % self)
            msglog.exception(prefix="handled")
            self.deferred.failed(error)
        else:
Example #2
0
 def invoke(*args, **kw):
     deferred = Deferred()
     try:
         result = invocable(*args, **kw)
     except Exception, error:
         deferred.failed(error)
Example #3
0
 def invoke(*args, **kw):
     deferred = Deferred()
     try:
         result = invocable(*args, **kw)
     except Exception, error:
         deferred.failed(error)