Files
2026-05-30 14:31:19 -06:00

89 lines
3.6 KiB
Batchfile

@echo off
setlocal EnableDelayedExpansion
title MP Manager Restarter
echo ===================================================
echo MP Manager - Reiniciando Servidor
echo ===================================================
echo.
cd /d "%~dp0"
:: ----------------------------------------------------------------------
:: 1. Determinar modo activo (normal / persistent)
:: ----------------------------------------------------------------------
set "MODE=normal"
set "LAST_MODE_FILE=generated\runtime\last_mode"
if exist %LAST_MODE_FILE% (
for /f "usebackq tokens=*" %%a in (`type %LAST_MODE_FILE%`) do set "MODE=%%a"
)
if not "!MODE!"=="normal" if not "!MODE!"=="persistent" set "MODE=normal"
echo [SISTEMA] Modo detectado: !MODE!
:: ----------------------------------------------------------------------
:: 2. Verificar Python
:: ----------------------------------------------------------------------
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [ERROR] No se detecto Python en el PATH.
pause
exit /b 1
)
:: ----------------------------------------------------------------------
:: 3. Detener el server actual de forma segura (solo MP Manager, jamas
:: procesos de otros proyectos en el mismo puerto).
:: ----------------------------------------------------------------------
python runtime_control.py stop --force
:: ----------------------------------------------------------------------
:: 4. Limpiar Chromium headless huerfanos (de scripts de Playwright).
:: ----------------------------------------------------------------------
echo [SISTEMA] Limpiando zombies de Chromium headless si los hay...
taskkill /f /im chrome-headless-shell.exe >nul 2>&1
:: ----------------------------------------------------------------------
:: 5. Limpiar batch files interrumpidos del directorio runtime.
:: ----------------------------------------------------------------------
if exist generated\runtime\batch\_bulk_batch_*.json (
echo [SISTEMA] Limpiando batch files huerfanos...
del generated\runtime\batch\_bulk_batch_*.json >nul 2>&1
)
if exist generated\runtime\batch\_test_batch.json del generated\runtime\batch\_test_batch.json >nul 2>&1
:: ----------------------------------------------------------------------
:: 6. Pequena espera para liberar el puerto antes de relanzar.
:: ----------------------------------------------------------------------
echo [SISTEMA] Esperando 2 segundos para liberar puerto...
timeout /t 2 >nul
:: ----------------------------------------------------------------------
:: 7. Relanzar en el modo correcto.
:: ----------------------------------------------------------------------
if not exist "generated\runtime" mkdir "generated\runtime"
if "!MODE!"=="persistent" (
set "GHL_BROWSER_PROFILE_DIR=%~dp0generated\browser\profile"
echo [SISTEMA] Relanzando en modo PERFIL PERSISTENTE.
echo [SISTEMA] GHL_BROWSER_PROFILE_DIR=!GHL_BROWSER_PROFILE_DIR!
if not exist "!GHL_BROWSER_PROFILE_DIR!" (
echo.
echo [ADVERTENCIA] El perfil persistente aun no existe.
echo Cuando arranque, usa "Renovar sesion Bucefalo" en el dashboard.
echo.
)
> %LAST_MODE_FILE% echo persistent
start "MP Manager Server (Perfil Persistente)" cmd /k "set GHL_BROWSER_PROFILE_DIR=!GHL_BROWSER_PROFILE_DIR! && python ""%~dp0main.py"""
) else (
echo [SISTEMA] Relanzando en modo NORMAL.
> %LAST_MODE_FILE% echo normal
start "MP Manager Server" python "%~dp0main.py"
)
echo.
echo ===================================================
echo Servidor reiniciado en modo !MODE!.
echo Para detener: stop.bat
echo ===================================================
timeout /t 4 >nul
endlocal
exit /b 0