Allow streaming progress from multiple async operations https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.as_completed http://www.tornadoweb.org/en/stable/gen.html#tornado.gen.WaitIterator