Instead of having both 'raise_error' and 'on_redis_down' should we consider having one callback 'on_error' ?
It does both jobs in a more consistent way, and if caller wants to know reason for error, they can have a look at exception (and its class) and make their decision.