--- a/iro/controller/task.py Thu Feb 09 17:36:31 2012 +0100
+++ b/iro/controller/task.py Thu Feb 09 18:27:58 2012 +0100
@@ -1,5 +1,7 @@
from functools import partial
+from twisted.internet import defer
+
from ..error import NoRoute, RejectRecipient
from ..model.offer import getPossibleOffers
@@ -32,10 +34,12 @@
def createJob(user,recipients, msg, offers, info=None):
- job = exJobs.create(user, recipients, msg, offers, info)
- for r in recipients:
- task = Task(r,job)
- job.addTask(task)
- task.start()
-
- return job
+ d = defer.maybeDeferred(exJobs.create,user, recipients, msg, offers, info)
+ def _(job):
+ for r in recipients:
+ task = Task(r,job)
+ job.addTask(task)
+ task.start()
+ return job
+ d.addCallback(_)
+ return d