import asyncio import redis @asyncio.coroutine def listener(redis_conn, channels): pubsub = redis_conn.pubsub() pubsub.subscribe(channels) print('Listening redis...') for item in pubsub.listen(): print(item) if __name__ == '__main__': r = redis.Redis() loop = asyncio.get_event_loop() asyncio.Task(listener(r, ['test'])) loop.run_forever()