fix: only load embeddings if in server mode

This commit is contained in:
Ruben Fiszel
2023-11-01 00:44:24 +01:00
parent dc5234159d
commit 5742620212
3 changed files with 31 additions and 10 deletions
+9 -1
View File
@@ -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<()>
};
+16 -8
View File
@@ -498,14 +498,22 @@ pub fn load_embeddings_db(db: &Pool<Postgres>) -> Arc<RwLock<Option<EmbeddingsDb
embeddings_db
}
pub fn workspaced_service(embeddings_db: Arc<RwLock<Option<EmbeddingsDb>>>) -> Router {
Router::new()
.route("/query_resource_types", get(query_resource_types))
.layer(Extension(embeddings_db))
pub fn workspaced_service(embeddings_db: Option<Arc<RwLock<Option<EmbeddingsDb>>>>) -> 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<RwLock<Option<EmbeddingsDb>>>) -> Router {
Router::new()
.route("/query_hub_scripts", get(query_hub_scripts))
.layer(Extension(embeddings_db))
pub fn global_service(embeddings_db: Option<Arc<RwLock<Option<EmbeddingsDb>>>>) -> 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()
}
}
+6 -1
View File
@@ -116,6 +116,7 @@ pub async fn run_server(
addr: SocketAddr,
mut rx: tokio::sync::broadcast::Receiver<()>,
port_tx: tokio::sync::oneshot::Sender<u16>,
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()