mirror of
https://github.com/LukeMathWalker/zero-to-production.git
synced 2024-09-27 13:50:03 +00:00
27 lines
909 B
Rust
27 lines
909 B
Rust
|
use chapter05::configuration::get_configuration;
|
||
|
use chapter05::startup::run;
|
||
|
use chapter05::telemetry::{get_subscriber, init_subscriber};
|
||
|
use sqlx::postgres::PgPoolOptions;
|
||
|
use std::net::TcpListener;
|
||
|
|
||
|
#[actix_rt::main]
|
||
|
async fn main() -> std::io::Result<()> {
|
||
|
let subscriber = get_subscriber("zero2prod".into(), "info".into());
|
||
|
init_subscriber(subscriber);
|
||
|
|
||
|
let configuration = get_configuration().expect("Failed to read configuration.");
|
||
|
let connection_pool = PgPoolOptions::new()
|
||
|
.connect_timeout(std::time::Duration::from_secs(2))
|
||
|
.connect_with(configuration.database.with_db())
|
||
|
.await
|
||
|
.expect("Failed to connect to Postgres.");
|
||
|
|
||
|
let address = format!(
|
||
|
"{}:{}",
|
||
|
configuration.application.host, configuration.application.port
|
||
|
);
|
||
|
let listener = TcpListener::bind(address)?;
|
||
|
run(listener, connection_pool)?.await?;
|
||
|
Ok(())
|
||
|
}
|