čekání nemusíte implementovat ručně, můžete můžete použít některý z asynchronních klientů
třeba s https://github.com/aio-libs/aioredis
channel = await sub.subscribe('kanal1') while await channel.wait_message(): msg = await channel.get(encoding='utf-8')