--- a/iro/controller/task.py Mon Mar 05 21:37:44 2012 +0100
+++ b/iro/controller/task.py Mon Mar 05 23:51:56 2012 +0100
@@ -16,10 +16,23 @@
def __init__(self, recipient, job):
self.recipient = recipient
self.job = job
+ self.status = None
+ self.error = False
+
+ def setStatus(self,status):
+ self.status = status
+ return status
+
+ def setError(self,error):
+ self.status = error
+ self.error = True
+ return error
def start(self):
self.d = taskPool.run(self._run)
+ self.d.addCallback(self.setStatus)
self.d.addCallback(partial(self.job.setStatus,self))
+ self.d.addErrback(self.setError)
self.d.addErrback(partial(self.job.setError,self))
return self.d