2016-07-07 476 views
2

我有一个健康检查,我正尝试使用该命令从远程执行从redis服务器到redis-sentinels的redis-cli命令。如何设置redis-cli命令的超时时间?

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

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

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

回答

4

我决定使用命令timeout来包装redis-cli命令。这似乎对我的目的很好!

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