asyncioで実行されるタスクの実行順序の制御について asyncioのドキュメント を見ると、asyncio.asyncを使う際には、yield fromを忘れると終了を待たずにつぎの処理が実行される。このため以下の様な不具合があるというようなことが書かれている。 実行順序が保証されない タスクの終了が保証されない open_content,push_content,close_contentという3つのタスクが存在するような状況を考える。 これらのタスクが順番に実行されて欲しい。 @asyncio.coroutine def run(): yield from open_content() # 0 yield from push_content() # 1 yield from close_content() # 2 yield from asyncio.sleep(1) loop.