def run(self): """Run all tasks in the taskset. :returns: A :class:`celery.result.TaskSetResult` instance. Example >>> ts = TaskSet(RefreshFeedTask, [ ... ["http://foo.com/rss", {}], ... ["http://bar.com/rss", {}], ... ) >>> result = ts.run() >>> result.taskset_id "d2c9b261-8eff-4bfb-8459-1e1b72063514" >>> result.subtask_ids ["b4996460-d959-49c8-aeb9-39c530dcde25", "598d2d18-ab86-45ca-8b4f-0779f5d6a3cb"] >>> result.waiting() True >>> time.sleep(10) >>> result.ready() True >>> result.successful() True >>> result.failed() False >>> result.join() [True, True] """ taskset_id = str(uuid.uuid4()) conn = DjangoAMQPConnection() publisher = TaskPublisher(connection=conn) subtask_ids = [ publisher.delay_task_in_set( task_name=self.task_name, taskset_id=taskset_id, task_args=arg, task_kwargs=kwarg ) for arg, kwarg in self.arguments ] publisher.close() conn.close() return TaskSetResult(taskset_id, subtask_ids)