When writing tasks for asynchronous functions in Python 3 I realized I needed a way to run through all tasks that were queued up with asyncio.ensure_future and similar functions. I wrote an async function to do this. The result is a little hacky, as it needs to catch certain errors that are thrown in Python 3.5.x and Python 3.6.x when you attempt to await a task that is currently the current task.

Released into public domain fwiw.