def run(self):
for job in self.jobs:
task = self.root.loop.create_task(job.run())
self.task_job_map[task] = job
self.job_started_cb(job, task)
while self.task_job_map:
done, pending = await asyncio.wait(list(self.task_job_map.keys()),
return_when=FIRST_COMPLETED)
for task in done:
job = self.task_job_map.pop(task)
self.job_finished_cb(job, task)
self.root.start_coro(job.cleanup())
self.status = "finished"
logging.info("%s: all jobs finished.", self)
评论列表
文章目录