7

我有一个我正在尝试使用的健康检查,它远程执行从 redis 服务器到 redis-sentinels 的 redis-cli 命令。

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

有一个逻辑可以确定是否存在仲裁,除非哨兵的网络接口不可用,否则一切正常。在这种情况下,redis-cli 命令会无限期挂起,即使有两个健康的哨兵具有法定人数,健康检查也会失败。

我似乎找不到一种方法来为客户端的 redis-cli 设置超时以防止它挂起。redis-cli 有没有办法做到这一点,或者我必须走出命令以确保它不会无限期挂起?

4

1 回答 1

13

我决定使用该timeout命令来包装 redis-cli 命令。它似乎对我的目的非常有效!

timeout 3 redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
于 2016-07-07T19:17:04.673 回答