From bd19dad6165e86b23295a3a7e13a69743e5bd508 Mon Sep 17 00:00:00 2001 From: Sampras Lopes Date: Thu, 15 Dec 2022 20:24:10 +0530 Subject: [PATCH] feat(router): add configuration support for actix workers (#156) --- Cargo.lock | 1 + config/docker_compose.toml | 2 +- crates/router/Cargo.toml | 1 + crates/router/src/configs/settings.rs | 1 + crates/router/src/lib.rs | 1 + docker-compose.yml | 4 ++-- 6 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b58e076356..e9205501b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2734,6 +2734,7 @@ dependencies = [ "mimalloc", "mime", "nanoid", + "num_cpus", "once_cell", "rand", "redis_interface", diff --git a/config/docker_compose.toml b/config/docker_compose.toml index a5b7c435d0..32a45dde16 100644 --- a/config/docker_compose.toml +++ b/config/docker_compose.toml @@ -48,7 +48,7 @@ locker_decryption_key2 = "" host = "redis-queue" port = 6379 cluster_enabled = true -cluster_urls = ["bach-redis-queue-1:6379", "bach-redis-queue-2:6379", "bach-redis-queue-3:6379"] +cluster_urls = ["redis-queue:6379"] [connectors.aci] base_url = "https://eu-test.oppwa.com/" diff --git a/crates/router/Cargo.toml b/crates/router/Cargo.toml index 70ae5edc67..e2b27ca5e3 100644 --- a/crates/router/Cargo.toml +++ b/crates/router/Cargo.toml @@ -48,6 +48,7 @@ maud = { version = "0.24", features = ["actix-web"] } mimalloc = { version = "0.1", optional = true } mime = "0.3.16" nanoid = "0.4.0" +num_cpus = "1.14.0" once_cell = "1.16.0" rand = "0.8.5" reqwest = { version = "0.11.12", features = ["json", "native-tls"] } diff --git a/crates/router/src/configs/settings.rs b/crates/router/src/configs/settings.rs index 8a34bcdb13..55568caf25 100644 --- a/crates/router/src/configs/settings.rs +++ b/crates/router/src/configs/settings.rs @@ -84,6 +84,7 @@ pub struct Proxy { #[derive(Debug, Deserialize, Clone)] pub struct Server { pub port: u16, + pub workers: Option, pub host: String, pub request_body_limit: usize, pub base_url: String, diff --git a/crates/router/src/lib.rs b/crates/router/src/lib.rs index 6e87de86e2..21d3535fd6 100644 --- a/crates/router/src/lib.rs +++ b/crates/router/src/lib.rs @@ -133,6 +133,7 @@ pub async fn start_server(conf: Settings) -> BachResult<(Server, AppState)> { let request_body_limit = server.request_body_limit; let server = actix_web::HttpServer::new(move || mk_app(state.clone(), request_body_limit)) .bind((server.host.as_str(), server.port))? + .workers(server.workers.unwrap_or_else(num_cpus::get_physical)) .run(); Ok((server, app_state)) diff --git a/docker-compose.yml b/docker-compose.yml index 085958c211..89c4ab0422 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: loki: image: grafana/loki:latest ports: - - "3100:3100" + - "3100" command: -config.file=/etc/loki/loki.yaml networks: - router_net @@ -66,7 +66,7 @@ services: pg: image: postgres:14.5 ports: - - "5432:5432" + - "5432" networks: - router_net volumes: