我正在尝试使用redis-cli命令从redis服务器远程执行redis-sentinels。
redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
有一个逻辑可以判断是否存在仲裁,除非哨兵的网络接口不可用,否则一切正常。在这种情况下,redis-cli命令无限期挂起,即使有两个具有法定人数的健康哨兵,健康检查也会失败。
我似乎无法找到一种方法来为客户端上的redis-cli设置超时,以防止它挂起。有没有办法使用redis-cli来执行此操作,或者我是否必须超出命令以确保它不会无限期挂起?
答案 0 :(得分:7)
我决定使用timeout
命令来包装redis-cli命令。它似乎对我的目的非常有用!
timeout 3 redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing