From 574262021202c1aeec42ffdb9e55321369a8ea76 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Wed, 1 Nov 2023 00:44:24 +0100 Subject: [PATCH] fix: only load embeddings if in server mode --- backend/src/main.rs | 10 +++++++++- backend/windmill-api/src/embeddings.rs | 24 ++++++++++++++++-------- backend/windmill-api/src/lib.rs | 7 ++++++- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/backend/src/main.rs b/backend/src/main.rs index caf797d5e6..d4fbda8631 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -280,7 +280,15 @@ Windmill Community Edition {GIT_VERSION} .expect("could not create initial server dir"); let server_f = async { - windmill_api::run_server(db.clone(), rsmq2, addr, rx.resubscribe(), port_tx).await?; + windmill_api::run_server( + db.clone(), + rsmq2, + addr, + rx.resubscribe(), + port_tx, + server_mode, + ) + .await?; Ok(()) as anyhow::Result<()> }; diff --git a/backend/windmill-api/src/embeddings.rs b/backend/windmill-api/src/embeddings.rs index 8bf83b40d9..cfbafb0dda 100644 --- a/backend/windmill-api/src/embeddings.rs +++ b/backend/windmill-api/src/embeddings.rs @@ -498,14 +498,22 @@ pub fn load_embeddings_db(db: &Pool) -> Arc>>) -> Router { - Router::new() - .route("/query_resource_types", get(query_resource_types)) - .layer(Extension(embeddings_db)) +pub fn workspaced_service(embeddings_db: Option>>>) -> Router { + if let Some(embeddings_db) = embeddings_db { + Router::new() + .route("/query_resource_types", get(query_resource_types)) + .layer(Extension(embeddings_db)) + } else { + Router::new() + } } -pub fn global_service(embeddings_db: Arc>>) -> Router { - Router::new() - .route("/query_hub_scripts", get(query_hub_scripts)) - .layer(Extension(embeddings_db)) +pub fn global_service(embeddings_db: Option>>>) -> Router { + if let Some(embeddings_db) = embeddings_db { + Router::new() + .route("/query_hub_scripts", get(query_hub_scripts)) + .layer(Extension(embeddings_db)) + } else { + Router::new() + } } diff --git a/backend/windmill-api/src/lib.rs b/backend/windmill-api/src/lib.rs index a362a0b527..c3cc827520 100644 --- a/backend/windmill-api/src/lib.rs +++ b/backend/windmill-api/src/lib.rs @@ -116,6 +116,7 @@ pub async fn run_server( addr: SocketAddr, mut rx: tokio::sync::broadcast::Receiver<()>, port_tx: tokio::sync::oneshot::Sender, + server_mode: bool, ) -> anyhow::Result<()> { if let Some(mut rsmq) = rsmq.clone() { for tag in ALL_TAGS.read().await.iter() { @@ -165,7 +166,11 @@ pub async fn run_server( #[cfg(not(feature = "enterprise"))] let sp_extension = (ServiceProviderExt(), SamlSsoLogin(None)); - let embeddings_db = load_embeddings_db(&db); + let embeddings_db = if server_mode { + Some(load_embeddings_db(&db)) + } else { + None + }; // build our application with a route let app = Router::new()