iro/controller/task.py
branchdevel
changeset 141 90c95fdd1e33
parent 140 75d0eaaa871d
child 142 7d0c1fa97123
equal deleted inserted replaced
140:75d0eaaa871d 141:90c95fdd1e33
     1 from functools import partial
     1 from functools import partial
       
     2 
       
     3 from twisted.internet import defer
     2 
     4 
     3 from ..error import NoRoute, RejectRecipient
     5 from ..error import NoRoute, RejectRecipient
     4 
     6 
     5 from ..model.offer import getPossibleOffers
     7 from ..model.offer import getPossibleOffers
     6 from ..model.job import exJobs
     8 from ..model.job import exJobs
    30         else:
    32         else:
    31             raise NoRoute()
    33             raise NoRoute()
    32 
    34 
    33 
    35 
    34 def createJob(user,recipients, msg, offers, info=None):
    36 def createJob(user,recipients, msg, offers, info=None):
    35     job = exJobs.create(user, recipients, msg, offers, info)
    37     d = defer.maybeDeferred(exJobs.create,user, recipients, msg, offers, info)
    36     for r in recipients:
    38     def _(job):
    37         task = Task(r,job)
    39         for r in recipients:
    38         job.addTask(task)
    40             task = Task(r,job)
    39         task.start()
    41             job.addTask(task)
    40 
    42             task.start()
    41     return job
    43         return job
       
    44     d.addCallback(_)
       
    45     return d