diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-08-04 21:21:55 -0700 |
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-08-04 21:21:55 -0700 |
| commit | 345b7734d8c887d699d5038416d2a1f8193a33e9 (patch) | |
| tree | e2a7151c3266fa447cbff03d730106049f3187c0 /continuedev/src/continuedev/core | |
| parent | 51abe8eb79f56b2a32dbbef19e8d352eeca56abe (diff) | |
| download | sncontinue-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.py | 5 | ||||
| -rw-r--r-- | continuedev/src/continuedev/core/context.py | 10 |
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. |
