Пулл подключений в web-api Rust

Рейтинг: 0Ответов: 0Опубликовано: 22.06.2023

Пытаюсь добавить пулл подключений (deadpool-postgresql) к своей базе данных внутри web-api приложения. К сожалению пока безуспешно. По примерам из интернета попытался сделать но похоже я что-то плохо понял. Ниже приведу код, подскажите пожалуйста.

В файле main.rc прописано :

let pool = config.configure_pool();
    //main
    let cors_config = CorsConfig::from_env();

    HttpServer::new(move || {
        let cors =
            CorsConfig::set_cors(&cors_config.protocol, &cors_config.host, &cors_config.port);
        let auth = GrantsMiddleware::with_extractor(extract);
        App::new()
            .app_data(Data::new( AppState{ conn: conn.clone(), pool: pool.clone()}))
            .wrap(auth)
            .configure(handlers::config)
            .wrap(Logger::default())
            .wrap(cors)
    })
    .bind(server_addr)?
    .run()
    .await

В файле config :

pub struct PostgresConfig {
    db_name: String,
    db_user: String,
}

impl PostgresConfig {
    pub fn configure_pool(&self) -> Pool {
        self.db_url.create_pool(Some(Runtime::Tokio1), NoTls).unwrap()
    }
}

В файле models:

#[derive(Clone)]
pub struct AppState {
    pub conn: DatabaseConnection,
    pub pool: Pool,
}

Ответы

Ответов пока нет.