Files
AI/start_webserver.bat
LASTA_DEV01\lasta 9e88f4c7ad ontology
2026-05-13 19:57:34 +09:00

55 lines
1.7 KiB
Batchfile

@echo off
setlocal
set "SCRIPT_DIR=%~dp0"
cd /d "%SCRIPT_DIR%"
set "HOST=127.0.0.1"
set "PORT=8000"
set "URL=http://%HOST%:%PORT%/"
set "BUNDLED_PYTHON=C:\Users\lasta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe"
set "PYTHON_EXE="
if exist "%SCRIPT_DIR%.venv\Scripts\python.exe" set "PYTHON_EXE=%SCRIPT_DIR%.venv\Scripts\python.exe"
if not defined PYTHON_EXE if exist "%SCRIPT_DIR%venv\Scripts\python.exe" set "PYTHON_EXE=%SCRIPT_DIR%venv\Scripts\python.exe"
if not defined PYTHON_EXE if exist "%BUNDLED_PYTHON%" set "PYTHON_EXE=%BUNDLED_PYTHON%"
if not defined PYTHON_EXE (
echo [OCP] Python executable not found.
echo [OCP] Put Python 3.11+ in .venv\Scripts\python.exe or install the Codex bundled runtime.
pause
exit /b 1
)
"%PYTHON_EXE%" -c "import fastapi, uvicorn" >nul 2>nul
if errorlevel 1 (
echo [OCP] Missing Python dependencies.
echo [OCP] Run: "%PYTHON_EXE%" -m pip install -r requirements.txt
pause
exit /b 1
)
powershell -NoProfile -Command "try { $r = Invoke-RestMethod -Uri '%URL%health' -TimeoutSec 2; if ($r.ok) { exit 0 } else { exit 1 } } catch { exit 1 }" >nul 2>nul
if not errorlevel 1 (
echo [OCP] Existing server is already running at %URL%
start "" "%URL%"
exit /b 0
)
set "CRAWLER_DATABASE_URL=sqlite:///crawler_platform.db"
title Ontology Crawler Web Server
echo [OCP] Starting server with: %PYTHON_EXE%
echo [OCP] URL: %URL%
echo [OCP] Press Ctrl+C to stop the server.
start "" "%URL%"
"%PYTHON_EXE%" -m uvicorn crawler_platform.app.main:app --host %HOST% --port %PORT%
set "EXIT_CODE=%ERRORLEVEL%"
echo.
echo [OCP] Server stopped.
if not "%EXIT_CODE%"=="0" echo [OCP] Exit code: %EXIT_CODE%
pause
exit /b %EXIT_CODE%