add slave failover with 15s timeout and metrics/logging
allow on_slave to fall back to master if all slaves are timed out