From 7c55daf07c4146ca0537ccb9804193227d2f25d1 Mon Sep 17 00:00:00 2001 From: Kishore Nallan Date: Tue, 18 Jul 2023 21:12:50 +0530 Subject: [PATCH] Return timeout early for backlogged embedding requests. --- src/collection.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/collection.cpp b/src/collection.cpp index 458df719..8036da34 100644 --- a/src/collection.cpp +++ b/src/collection.cpp @@ -1240,6 +1240,14 @@ Option Collection::search(std::string raw_query, if(!embedder_op.ok()) { return Option(400, embedder_op.error()); } + + auto remote_embedding_timeout_us = remote_embedding_timeout_ms * 1000; + if((std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()).count() - search_begin_us) > remote_embedding_timeout_us) { + std::string error = "Request timed out."; + return Option(500, error); + } + auto embedder = embedder_op.get(); if(embedder->is_remote()) {