我有一个健康检查,我正在尝试使用它从 redis 服务器远程执行 redis-sentinels 的 redis-cli 命令。
redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
有一个逻辑可以判断是否存在法定人数,并且一切正常,除非哨兵的网络接口(interface)不可用。在这种情况下,redis-cli 命令无限期挂起,健康检查失败,即使有两个健康的 sentinel 也有法定人数。
我似乎找不到在客户端为 redis-cli 设置超时以防止其挂起的方法。 redis-cli 有没有办法做到这一点,或者我必须走出命令以确保它不会无限期挂起?
最佳答案
我决定使用 timeout
命令来包装 redis-cli 命令。它似乎很适合我的目的!
timeout 3 redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
关于redis - 如何为 redis-cli 命令设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253360/