代码之家  ›  专栏  ›  技术社区  ›  alpar_turkoglu

Redis Rust群集模式管道断开错误

  •  0
  • alpar_turkoglu  · 技术社区  · 2 年前

    我用了一箱又一箱的铁锈。我正在使用集群模式,并不断尝试使用无限循环来获取某个密钥。然而,当我杀死存储该密钥的主节点时,程序会遇到“Broken pipe(os error 32)”并崩溃。

    我希望它能继续运行,并从新主人(被杀主人的前一个奴隶)那里获得钥匙。

    use std::error::Error;
    use redis::Commands;
    use redis::cluster::ClusterClient;
    fn main() -> Result<(), Box> {
    
    let nodes = vec!["redis://127.0.0.1:7000/","redis://127.0.0.1:7001/", "redis://127.0.0.1:7002/","redis://127.0.0.1:7003/", "redis://127.0.0.1:7004/", "redis://127.0.0.1:7005/"];
    let client = ClusterClient::new(nodes)?;
    let mut con = client.get_connection()?;
    
    
    loop {
    let a : String  =con.get("test")?;
    }
    
    
    Ok(())
    }
    

    然后我docker杀死了密钥“测试”的主节点, 我得到的错误是

    出现错误:管道破裂(操作系统错误32)

    提前谢谢。

    1 回复  |  直到 2 年前
    推荐文章