Preliminary investigation indicates that idle VarChangeEvent is properly fired and propagated to other threads, but not to idleProc. Thus the controller never returns from asyncio.wait and thus never processes the event. Very strange.
Turns out asyncio.ensure_future will not actually run a task, but merely schedule them, so idle.wait() might be called long after we created the future, which means it might miss an idle event.
This URL will never change to idle state and thus never time out due to idleing: https://www.youtube.com/channel/UCYIrN60b1wvM27mOmGje89A/videos?disable_polymer=1
Preliminary investigation indicates that idle VarChangeEvent is properly fired and propagated to other threads, but not to idleProc. Thus the controller never returns from asyncio.wait and thus never processes the event. Very strange.
Turns out asyncio.ensure_future will not actually run a task, but merely schedule them, so idle.wait() might be called long after we created the future, which means it might miss an idle event.