2016-07-07 11 views
2

Ich habe einen Gesundheitscheck Ich versuche zu verwenden, führt den Redis-CLI-Befehl von den Redis-Servern remis-Sentinels remote aus.Wie setze ich ein Timeout für den Befehl redis-cli?

redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing 

Es gibt eine Logik, die aussortiert, ob ein Quorum vorhanden ist und alles funktioniert, wenn die Netzwerkschnittstelle eines Sentinels nicht verfügbar ist. Der Befehl redis-cli bleibt in diesem Fall auf unbestimmte Zeit stehen und die Integritätsprüfung schlägt fehl, obwohl zwei gesunde Sentinels mit einem Quorum vorhanden sind.

Ich kann keinen Weg finden, eine Zeitüberschreitung für den Redis-Cli auf der Client-Seite zu setzen, um zu verhindern, dass es hängen bleibt. Gibt es einen Weg mit redis-cli, um das zu tun, oder muss ich außerhalb des Befehls gehen, um sicherzustellen, dass es nicht auf unbestimmte Zeit hängt?

Antwort

4

Ich entschied mich, den Befehl timeout zu verwenden, um den Befehl redis-cli zu umbrechen. Es scheint sehr gut für meine Zwecke zu funktionieren!

timeout 3 redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing