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.
This commit is contained in:
+17
-6
@@ -11,6 +11,9 @@ Optionally launches:
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger("scraibe.__main__")
|
||||||
|
|
||||||
from .webui import create_app
|
from .webui import create_app
|
||||||
|
|
||||||
@@ -34,15 +37,23 @@ def _run_mcp_server():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
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")
|
mcp_enabled = os.getenv("MCP_SERVER_ENABLED", "false").strip().lower() in ("true", "1", "yes")
|
||||||
if mcp_enabled:
|
if mcp_enabled:
|
||||||
t = threading.Thread(target=_run_mcp_server, daemon=True)
|
try:
|
||||||
t.start()
|
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
|
# Optionally start watch-folder mode (non-blocking)
|
||||||
from .watcher import start_watcher
|
try:
|
||||||
start_watcher()
|
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)
|
# Always start WebUI (Gradio)
|
||||||
create_app()
|
create_app()
|
||||||
|
|||||||
Reference in New Issue
Block a user