10

現在、サーバーが起動する私の主な機能は次のようになります

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    let address = "0.0.0.0:3000";

    HttpServer::new(move || {
        let app_state = {...some state};
        App::new()
            .data(app_state)
            .wrap(middleware::Logger::default())
            .service(network_api::init_service())
    })    
    .bind(address)?
    .run()
    .await
}

サーバーが起動したら、1 つの (非同期) 関数を実行して、別のサーバーに要求を行い、そのサーバーは、起動して実行中のこのサーバーに別の要求で応答する必要があります。

サーバーの起動時に一度だけ実行されるコールバック関数について言及しているドキュメントが見られるかどうかはわかりません。

たとえばrun()、次のように機能させることができます。

run(|| {
  // server started now perform some request or whatever
  Client::new().post(&url).json(json_stuff).send().await
})

編集 私はそれを解決したと思います。自分の質問に答えることができたら回答を投稿します

4

2 に答える 2