Files
plantplan/bin/server.bat
2026-04-16 13:34:05 +02:00

75 lines
1.8 KiB
Batchfile

@echo off
REM ================================================================
REM PLANTPLAN - Server (FastAPI/Uvicorn) verwalten
REM Verwendung: server.bat [start|stop|reload|status]
REM ================================================================
call "%~dp0setenv.bat"
if "%1"=="" goto usage
if /i "%1"=="start" goto start
if /i "%1"=="stop" goto stop
if /i "%1"=="reload" goto reload
if /i "%1"=="status" goto status
goto usage
:start
echo Starting PlantPlan Server (uvicorn) ...
REM Pruefen ob Server bereits laeuft
tasklist /FI "WINDOWTITLE eq PlantPlan-Server" 2>nul | find /i "cmd.exe" >nul
if not errorlevel 1 (
echo Server laeuft bereits!
goto end
)
REM Pruefen ob venv existiert
if not exist "%PROJECT%\.venv\Scripts\activate.bat" (
echo FEHLER: .venv nicht gefunden! Bitte zuerst install_py.bat ausfuehren.
goto end
)
start "PlantPlan-Server" cmd /k "cd /d "%PV_SERVER%" && "%PROJECT%\.venv\Scripts\activate.bat" && uvicorn main:app --reload --host %PV_SERVER_HOST% --port %PV_SERVER_PORT%"
echo Server gestartet auf %PV_SERVER_URL%
goto end
:stop
echo Stopping PlantPlan Server ...
taskkill /FI "WINDOWTITLE eq PlantPlan-Server" /T /F >nul 2>&1
if errorlevel 1 (
echo Server war nicht gestartet.
) else (
echo Server gestoppt.
)
goto end
:reload
echo Reloading PlantPlan Server ...
call :stop
timeout /t 2 /nobreak >nul
call :start
goto end
:status
tasklist /FI "WINDOWTITLE eq PlantPlan-Server" 2>nul | find /i "cmd.exe" >nul
if not errorlevel 1 (
echo Server: LAEUFT
) else (
echo Server: GESTOPPT
)
goto end
:usage
echo.
echo Verwendung: server.bat [start^|stop^|reload^|status]
echo.
echo start - Server starten (uvicorn mit --reload)
echo stop - Server stoppen
echo reload - Server neu starten
echo status - Pruefen ob Server laeuft
echo.
:end