def process(self, request): task = Task(self, request) self.listener.task_created(task) if self.workers.are_available: task.accept() worker = self.workers.acquire_one() task.assign_to(worker) else: self.tasks.put(task)
def invoke(self): task = Task(self, ClientRequest()) task.accept() task.assign_to(self._new_worker())