- t1 = loop.create_task(mqtt_watcher())
- t2 = loop.create_task(dispatcher.start_polling(timeout=20, relax=0.01, fast=True, allowed_updates=None))
- t3 = loop.create_task(fortunes())
- await asyncio.wait((t1, t2, t3))
+ coros = [
+ loop.create_task(mqtt_watcher()),
+ loop.create_task(dispatcher.start_polling(timeout=60, relax=0.01, fast=True, allowed_updates=None)),
+ loop.create_task(fortunes()),
+ ]
+ for coro in asyncio.as_completed(coros):
+ done = await coro
+ done.result() # The coroutine probably died of an exception, which is raised here.