--- a/iro/controller/task.py Fri Mar 23 16:18:12 2012 +0100
+++ b/iro/controller/task.py Fri Mar 23 16:21:22 2012 +0100
@@ -1,5 +1,6 @@
from functools import partial
+from twisted.python import log
from twisted.internet.defer import inlineCallbacks, returnValue, maybeDeferred, Deferred
from ..error import NoRouteForTask, RejectRecipient
@@ -44,15 +45,16 @@
offer = os.next()
d = maybeDeferred(offers[offer],self.recipient,self.job.message)
d.addCallback(self.d.callback)
- d.addErrback(addErr)
+ d.addErrback(addErr,offer)
d.addErrback(self.d.errback)
return d
except StopIteration:
self.d.errback(NoRouteForTask())
- def addErr(failure):
- failure.trap(RejectRecipient)
- return n()
+ def addErr(failure, offer):
+ if not isinstance(failure.value, RejectRecipient):
+ log.err(_why="Job(%s): Send to '%s' failed via '%s'"%(self.job.dbjob, self.recipient, offer),_stuff=failure)
+ n()
n()