Files
MP-Manager/start.bat
2026-05-30 14:31:19 -06:00

69 lines
2.5 KiB
Batchfile

@echo off
title MP Manager Launcher
echo ===================================================
echo MP Manager - Iniciando Servidor Monte Providencia
echo ===================================================
echo.
cd /d "%~dp0"
:: ----------------------------------------------------------------------
:: 1. Verificar Python
:: ----------------------------------------------------------------------
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [ERROR] No se detecto Python en el PATH. Instala Python 3.10+ y reintenta.
pause
exit /b 1
)
:: ----------------------------------------------------------------------
:: 2. Pre-vuelo: comprobar si ya hay MP Manager corriendo, si el puerto 8000
:: esta ocupado por otro proyecto, o si hay registros stale que limpiar.
:: ----------------------------------------------------------------------
python runtime_control.py preflight
set "PRE=%errorlevel%"
if "%PRE%"=="1" (
echo.
echo [SISTEMA] No se relanza. Si quieres reiniciar usa restart.bat.
timeout /t 5 >nul
exit /b 1
)
if "%PRE%"=="2" (
echo.
echo [SISTEMA] Continuando: MP Manager buscara el siguiente puerto libre.
echo.
)
:: ----------------------------------------------------------------------
:: 3. Dejar huella del modo activo para que restart.bat sepa como relanzar.
:: ----------------------------------------------------------------------
if not exist "generated\runtime" mkdir "generated\runtime"
> generated\runtime\last_mode echo normal
:: ----------------------------------------------------------------------
:: 4. Lanzar el servidor en una ventana secundaria. main.py escribira
:: server_info.json con el puerto real una vez levantado, y abrira el
:: navegador con un cache-bust para evitar pestanas viejas de otros
:: proyectos.
:: ----------------------------------------------------------------------
echo [SISTEMA] Iniciando servidor FastAPI...
:: Lanzar con path absoluto a main.py para que la linea de comando del proceso
:: contenga la ruta del proyecto. Eso permite a stop.bat distinguir esta
:: instancia de otros proyectos Python que pudieran estar en el mismo puerto.
start "MP Manager Server" python "%~dp0main.py"
echo.
echo ===================================================
echo El servidor se esta iniciando en segundo plano.
echo La ventana del navegador se abrira sola en el
echo puerto correspondiente (8000 o el siguiente libre).
echo.
echo Para detener: stop.bat
echo Para reiniciar: restart.bat
echo ===================================================
timeout /t 5 >nul
exit /b 0