summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/core
diff options
context:
space:
mode:
authorsestinj <sestinj@gmail.com>2023-09-06 19:30:07 -0700
committersestinj <sestinj@gmail.com>2023-09-06 19:30:07 -0700
commitbd38794a02d46b70ee018bdd6cd11e3c207465fc (patch)
treea4d6607c75f965b82441addb80fb3b6ed12f9cda /continuedev/src/continuedev/core
parentf4820c80bf98706545aa5b113781caf9b3288c08 (diff)
downloadsncontinue-bd38794a02d46b70ee018bdd6cd11e3c207465fc.tar.gz
sncontinue-bd38794a02d46b70ee018bdd6cd11e3c207465fc.tar.bz2
sncontinue-bd38794a02d46b70ee018bdd6cd11e3c207465fc.zip
restart_meilisearch
Diffstat (limited to 'continuedev/src/continuedev/core')
-rw-r--r--continuedev/src/continuedev/core/context.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/continuedev/src/continuedev/core/context.py b/continuedev/src/continuedev/core/context.py
index 47763d8b..e5009a14 100644
--- a/continuedev/src/continuedev/core/context.py
+++ b/continuedev/src/continuedev/core/context.py
@@ -10,7 +10,7 @@ from ..libs.util.create_async_task import create_async_task
from ..libs.util.devdata import dev_data_logger
from ..libs.util.logging import logger
from ..libs.util.telemetry import posthog_logger
-from ..server.meilisearch_server import poll_meilisearch_running
+from ..server.meilisearch_server import poll_meilisearch_running, restart_meilisearch
from .main import ChatMessage, ContextItem, ContextItemDescription, ContextItemId
@@ -269,7 +269,7 @@ class ContextManager:
timeout=5,
)
- async def load_index(self, workspace_dir: str):
+ async def load_index(self, workspace_dir: str, should_retry: bool = True):
try:
async with Client("http://localhost:7700") as search_client:
# First, create the index if it doesn't exist
@@ -309,6 +309,13 @@ class ContextManager:
)
except Exception as e:
logger.debug(f"Error loading meilisearch index: {e}")
+ if should_retry:
+ await restart_meilisearch()
+ try:
+ asyncio.wait_for(await poll_meilisearch_running(), timeout=20)
+ except asyncio.TimeoutError:
+ logger.warning("Meilisearch did not restart in less than 20 seconds. Stopping polling.")
+ await self.load_index(workspace_dir, False)
async def select_context_item(self, id: str, query: str):
"""