Rust 服务器无法排队 mongodb

问题描述 投票:0回答:0

排队mongodb时程序崩溃,像这样:

incoming body completed thread 'actix-rt|system:0|arbiter:0' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: ServerSelection { message: "Server selection timeout: No available servers. Topology: { Type: Unknown, Servers: [ { Address: 127.0.0.1:27017, Type: Unknown }, ] }" }, labels: {}, wire_version: None, source: None }', src/user/info.rs:72:79
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

我先尝试了程序和数据库的连接,发现程序可以正确插入数据库。然后我检查我的生锈版本。我尝试了几个版本,我尝试了 beta 和 nightly(其中一个使用的板条箱不能在稳定版上编译),它没有字。然后查看commit history,最后发现去掉下面的代码,程序运行正常,添加后,程序panic。

pub async fn listener() {
    let mut buffer = "".to_string();
    let stdin = io::stdin();

    loop { //PS: The program runs well with out this loop
        match stdin.read_line(&mut buffer) {
            Ok(_) => {}
            Err(e) => {println!("Cannot get input: {}" , e);}
        };

        let input = buffer[..buffer.len() - 1].to_string();
        router(input).await;
        buffer = "".to_string();
    }
}

这是由这个发起的:

tokio::spawn(async {command::listener().await;});

此外,我检查了 router() 和它里面的所有东西,发现即使我删除它们仍然不起作用。

mongodb asynchronous rust rust-tokio
© www.soinside.com 2019 - 2024. All rights reserved.