From cd0c730abe1c3a801638554e734684fb6a6f7b22 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 19 Jun 2026 17:50:49 +0000 Subject: [PATCH] Ensure WebUI always loads even if MCP/watcher fail - Wrap MCP server and watcher startup in try/except. - Log warnings but never block WebUI launch. --- scraibe/__main__.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/scraibe/__main__.py b/scraibe/__main__.py index f4a2345..eff65ab 100644 --- a/scraibe/__main__.py +++ b/scraibe/__main__.py @@ -11,6 +11,9 @@ Optionally launches: import os import threading +import logging + +logger = logging.getLogger("scraibe.__main__") from .webui import create_app @@ -34,15 +37,23 @@ def _run_mcp_server(): if __name__ == "__main__": - # Optionally start MCP server in background + # Optionally start MCP server in background (non-blocking) mcp_enabled = os.getenv("MCP_SERVER_ENABLED", "false").strip().lower() in ("true", "1", "yes") if mcp_enabled: - t = threading.Thread(target=_run_mcp_server, daemon=True) - t.start() + try: + t = threading.Thread(target=_run_mcp_server, daemon=True) + t.start() + logger.info("MCP server started in background.") + except Exception as e: + logger.warning("Failed to start MCP server (WebUI will continue): %s", e) - # Optionally start watch-folder mode - from .watcher import start_watcher - start_watcher() + # Optionally start watch-folder mode (non-blocking) + try: + from .watcher import start_watcher + start_watcher() + logger.info("Watch-folder mode started.") + except Exception as e: + logger.warning("Failed to start watch-folder mode (WebUI will continue): %s", e) # Always start WebUI (Gradio) create_app()