def test_single_runner_task(self): self.assertEqual(self.app.queue, []) self.assertEqual(self.app.results, []) t = Task() t.job = sum t.args = [[ 1 , 2 ], 0] self.app._run_single(t) self.assertEqual(self.app.results[0], 3)
def add(self, task=None): if task is None or task in (Task, 'task'): t = Task() t.conf = self.conf self.queue.append(t) return t elif task in (MapTask, 'map'): t = MapTask() t.conf = self.conf self.queue.append(t) return t elif task in (BuildApp, 'app'): self.create_pool() t = BuildApp(self.conf) t.pool = self.pool t.root_app = False self.queue.append(t) return t else: if isinstance(task, Task): if task.conf is None: task.conf = self.conf self.queue.append(task) return task elif isinstance(task, BuildApp): self.create_pool() task.root_app = False task.pool = self.pool self.queue.append(task) return task else: raise TypeError('invalid task type')