summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/core
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-04 21:21:55 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-04 21:21:55 -0700
commit345b7734d8c887d699d5038416d2a1f8193a33e9 (patch)
treee2a7151c3266fa447cbff03d730106049f3187c0 /continuedev/src/continuedev/core
parent51abe8eb79f56b2a32dbbef19e8d352eeca56abe (diff)
downloadsncontinue-345b7734d8c887d699d5038416d2a1f8193a33e9.tar.gz
sncontinue-345b7734d8c887d699d5038416d2a1f8193a33e9.tar.bz2
sncontinue-345b7734d8c887d699d5038416d2a1f8193a33e9.zip
fix: :bug: timeout on blocking processes
Diffstat (limited to 'continuedev/src/continuedev/core')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py5
-rw-r--r--continuedev/src/continuedev/core/context.py10
2 files changed, 13 insertions, 2 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py
index a3dd854e..f3a17d47 100644
--- a/continuedev/src/continuedev/core/autopilot.py
+++ b/continuedev/src/continuedev/core/autopilot.py
@@ -74,13 +74,16 @@ class Autopilot(ContinueBaseModel):
self.policy = override_policy
# Load documents into the search index
+ logger.debug("Starting context manager")
await self.context_manager.start(
self.continue_sdk.config.context_providers + [
HighlightedCodeContextProvider(ide=self.ide),
FileContextProvider(workspace_dir=self.ide.workspace_directory)
])
- await self.context_manager.load_index(self.ide.workspace_directory)
+ logger.debug("Loading index")
+ create_async_task(self.context_manager.load_index(
+ self.ide.workspace_directory))
self.started = True
class Config:
diff --git a/continuedev/src/continuedev/core/context.py b/continuedev/src/continuedev/core/context.py
index 20725216..f83cbd34 100644
--- a/continuedev/src/continuedev/core/context.py
+++ b/continuedev/src/continuedev/core/context.py
@@ -1,5 +1,7 @@
from abc import abstractmethod
+import asyncio
+import time
from typing import Dict, List
from meilisearch_python_async import Client
from pydantic import BaseModel
@@ -165,6 +167,8 @@ class ContextManager:
async def load_index(self, workspace_dir: str):
for _, provider in self.context_providers.items():
+ ti = time.time()
+
context_items = await provider.provide_context_items(workspace_dir)
documents = [
{
@@ -178,10 +182,14 @@ class ContextManager:
if len(documents) > 0:
try:
async with Client('http://localhost:7700') as search_client:
- await search_client.index(SEARCH_INDEX_NAME).add_documents(documents)
+ await asyncio.wait_for(search_client.index(SEARCH_INDEX_NAME).add_documents(documents), timeout=5)
except Exception as e:
logger.debug(f"Error loading meilisearch index: {e}")
+ tf = time.time()
+ logger.debug(
+ f"Loaded {len(documents)} documents into meilisearch in {tf - ti} seconds for context provider {provider.title}")
+
async def select_context_item(self, id: str, query: str):
"""
Selects the ContextItem with the given id.