From f1e150f320954c6a343986e8207d2a1617b1b3fd Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 17 Jan 2025 16:08:40 -0300 Subject: [PATCH] fix: don't raise error if bundle loading fails (#5765) * fix: Handle exceptions when loading bundles from URLs * fix: Refactor bundle loading to include error handling for HTTP exceptions --- src/backend/base/langflow/main.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/backend/base/langflow/main.py b/src/backend/base/langflow/main.py index 179d1751f..f1bed340d 100644 --- a/src/backend/base/langflow/main.py +++ b/src/backend/base/langflow/main.py @@ -10,6 +10,7 @@ from typing import TYPE_CHECKING from urllib.parse import urlencode import anyio +import httpx from fastapi import FastAPI, HTTPException, Request, Response, status from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import FileResponse, JSONResponse @@ -94,6 +95,14 @@ class JavaScriptMIMETypeMiddleware(BaseHTTPMiddleware): return response +async def load_bundles_with_error_handling(): + try: + return await load_bundles_from_urls() + except (httpx.TimeoutException, httpx.HTTPError, httpx.RequestError) as exc: + logger.error(f"Error loading bundles from URLs: {exc}") + return [], [] + + def get_lifespan(*, fix_migration=False, version=None): telemetry_service = get_telemetry_service() @@ -112,7 +121,7 @@ def get_lifespan(*, fix_migration=False, version=None): await initialize_services(fix_migration=fix_migration) setup_llm_caching() await initialize_super_user_if_needed() - temp_dirs, bundles_components_paths = await load_bundles_from_urls() + temp_dirs, bundles_components_paths = await load_bundles_with_error_handling() get_settings_service().settings.components_path.extend(bundles_components_paths) all_types_dict = await get_and_cache_all_types_dict(get_settings_service()) await create_or_update_starter_projects(all_types_dict)