69 lines
2.5 KiB
Batchfile
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
|