基本结构以及计算降雨栅格

This commit is contained in:
wzy-warehouse
2026-05-05 19:49:12 +08:00
parent 72f54c437c
commit 36bd2dc3fa
32 changed files with 2323 additions and 2 deletions
+74
View File
@@ -0,0 +1,74 @@
@echo off
REM Windows startup script - Development environment (background mode)
echo ========================================
echo Starting Development Environment
echo ========================================
REM Change to project root directory
cd /d "%~dp0.."
REM Verify we are in the correct directory
if not exist "start.py" (
echo Error: Cannot find start.py in current directory: %CD%
echo Please ensure you are running this script from the project directory
pause
exit /b 1
)
echo Current directory: %CD%
REM Check and create virtual environment if not exists
if not exist ".venv\Scripts\activate.bat" (
echo Virtual environment not found, creating...
python -m venv .venv
if errorlevel 1 (
echo Error: Failed to create virtual environment
echo Please ensure Python is installed and accessible
pause
exit /b 1
)
echo Virtual environment created successfully
)
REM Activate virtual environment
call .venv\Scripts\activate.bat
if errorlevel 1 (
echo Error: Failed to activate virtual environment
pause
exit /b 1
)
echo Virtual environment activated
REM Upgrade pip and install dependencies
echo Checking dependencies...
.venv\Scripts\python.exe -m pip install --upgrade pip -q
.venv\Scripts\python.exe -m pip install -r requirements.txt -q
if errorlevel 1 (
echo Error: Failed to install dependencies
pause
exit /b 1
)
echo Dependencies installed successfully
REM Create logs directory if not exists
if not exist "logs" mkdir logs
REM Start application in background using start command
REM Create a temporary startup script with clean environment
set TEMP_START_SCRIPT=%TEMP%\start_xian_app_%RANDOM%.bat
(
echo @echo off
echo cd /d %CD%
echo set ENVIRONMENT=development
echo .venv\Scripts\python.exe start.py
) > "%TEMP_START_SCRIPT%"
start "Xian Algorithm Dev" cmd /k "title Xian Algorithm Dev && call "%TEMP_START_SCRIPT%""
echo.
echo Application started in background
echo To view logs, check: logs\app_*.log
echo To stop the application, run: scripts\stop.bat
echo ========================================
REM Keep the window open briefly to show any immediate errors
timeout /t 3 /nobreak >nul
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
# Linux/Mac startup script - Development environment (background mode)
echo "========================================"
echo " Starting Development Environment"
echo "========================================"
# Change to project root directory
cd "$(dirname "$0")/.." || exit
# Check and create virtual environment if not exists
if [ ! -f ".venv/bin/activate" ]; then
echo "Virtual environment not found, creating..."
python3 -m venv .venv
if [ $? -ne 0 ]; then
echo "Error: Failed to create virtual environment"
echo "Please ensure Python 3 is installed and accessible"
exit 1
fi
echo "Virtual environment created successfully"
fi
# Activate virtual environment
source .venv/bin/activate
echo "Virtual environment activated"
# Upgrade pip and install dependencies
echo "Checking dependencies..."
pip install --upgrade pip -q
pip install -r requirements.txt -q
if [ $? -ne 0 ]; then
echo "Error: Failed to install dependencies"
exit 1
fi
echo "Dependencies installed successfully"
# Set environment variable
export ENVIRONMENT=development
# Create logs directory if not exists
mkdir -p logs
# Start application in background
nohup python start.py > logs/app_dev.log 2>&1 &
APP_PID=$!
echo $APP_PID > scripts/app_dev.pid
echo ""
echo "Application started in background (PID: $APP_PID)"
echo "To view logs: tail -f logs/app_dev.log"
echo "To stop the application, run: bash scripts/stop.sh"
echo "========================================"
+52
View File
@@ -0,0 +1,52 @@
@echo off
REM Windows startup script - Production environment (background mode)
echo ========================================
echo Starting Production Environment
echo ========================================
REM Change to project root directory
cd /d "%~dp0.."
REM Check and create virtual environment if not exists
if not exist ".venv\Scripts\activate.bat" (
echo Virtual environment not found, creating...
python -m venv .venv
if errorlevel 1 (
echo Error: Failed to create virtual environment
echo Please ensure Python is installed and accessible
pause
exit /b 1
)
echo Virtual environment created successfully
)
REM Activate virtual environment
call .venv\Scripts\activate.bat
echo Virtual environment activated
REM Upgrade pip and install dependencies
echo Checking dependencies...
.venv\Scripts\python.exe -m pip install --upgrade pip -q
.venv\Scripts\python.exe -m pip install -r requirements.txt -q
if errorlevel 1 (
echo Error: Failed to install dependencies
pause
exit /b 1
)
echo Dependencies installed successfully
REM Set environment variable
set ENVIRONMENT=production
REM Create logs directory if not exists
if not exist "logs" mkdir logs
REM Start application in background using start command
start "Xian Algorithm Prod" cmd /c "title Xian Algorithm Prod && .venv\Scripts\python.exe start.py"
echo.
echo Application started in background
echo To view logs, check: logs\app_*.log
echo To stop the application, run: scripts\stop.bat
echo ========================================
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
# Linux/Mac startup script - Production environment (background mode)
echo "========================================"
echo " Starting Production Environment"
echo "========================================"
# Change to project root directory
cd "$(dirname "$0")/.." || exit
# Check and create virtual environment if not exists
if [ ! -f ".venv/bin/activate" ]; then
echo "Virtual environment not found, creating..."
python3 -m venv .venv
if [ $? -ne 0 ]; then
echo "Error: Failed to create virtual environment"
echo "Please ensure Python 3 is installed and accessible"
exit 1
fi
echo "Virtual environment created successfully"
fi
# Activate virtual environment
source .venv/bin/activate
echo "Virtual environment activated"
# Upgrade pip and install dependencies
echo "Checking dependencies..."
pip install --upgrade pip -q
pip install -r requirements.txt -q
if [ $? -ne 0 ]; then
echo "Error: Failed to install dependencies"
exit 1
fi
echo "Dependencies installed successfully"
# Set environment variable
export ENVIRONMENT=production
# Create logs directory if not exists
mkdir -p logs
# Start application in background
nohup python start.py > logs/app_prod.log 2>&1 &
APP_PID=$!
echo $APP_PID > scripts/app_prod.pid
echo ""
echo "Application started in background (PID: $APP_PID)"
echo "To view logs: tail -f logs/app_prod.log"
echo "To stop the application, run: bash scripts/stop.sh"
echo "========================================"
+29
View File
@@ -0,0 +1,29 @@
@echo off
REM Windows stop script - Stop the application
echo ========================================
echo Stopping Application
echo ========================================
REM Change to project root directory
cd /d "%~dp0.."
REM Find and kill python processes running start.py
echo Searching for running application...
tasklist /FI "IMAGENAME eq python.exe" /FO CSV /NH 2>nul | findstr /I "python.exe" >nul
if %errorlevel% equ 0 (
echo Found running Python processes, stopping...
taskkill /F /FI "WINDOWTITLE eq Xian Algorithm Dev" 2>nul
taskkill /F /FI "WINDOWTITLE eq Xian Algorithm Prod" 2>nul
REM If title-based kill didn't work, try killing all python.exe running start.py
for /f "tokens=2 delims=," %%a in ('tasklist /FI "IMAGENAME eq python.exe" /FO CSV /NH 2^>nul') do (
set "PID=%%~a"
wmic process where "ProcessId=!PID! and CommandLine like '%%start.py%%'" delete >nul 2>&1
)
echo Application stopped successfully
) else (
echo No running application found
)
echo ========================================
+67
View File
@@ -0,0 +1,67 @@
#!/bin/bash
# Linux/Mac stop script - Stop the application
echo "========================================"
echo " Stopping Application"
echo "========================================"
# Change to project root directory
cd "$(dirname "$0")/.." || exit
# Function to stop a process by PID file
stop_process() {
local pid_file=$1
local env_name=$2
if [ -f "$pid_file" ]; then
local pid=$(cat "$pid_file")
if kill -0 "$pid" 2>/dev/null; then
echo "Stopping $env_name (PID: $pid)..."
kill "$pid"
# Wait for process to stop
local count=0
while kill -0 "$pid" 2>/dev/null && [ $count -lt 10 ]; do
sleep 1
count=$((count + 1))
done
# Force kill if still running
if kill -0 "$pid" 2>/dev/null; then
echo "Force stopping $env_name..."
kill -9 "$pid"
fi
rm -f "$pid_file"
echo "$env_name stopped"
else
echo "$env_name not running (stale PID file removed)"
rm -f "$pid_file"
fi
else
echo "No $env_name PID file found"
fi
}
# Stop development environment
stop_process "scripts/app_dev.pid" "Development environment"
# Stop production environment
stop_process "scripts/app_prod.pid" "Production environment"
# Also try to find any remaining python processes running start.py
REMAINING_PIDS=$(ps aux | grep "[p]ython.*start.py" | awk '{print $2}')
if [ -n "$REMAINING_PIDS" ]; then
echo "Found additional Python processes, stopping..."
echo "$REMAINING_PIDS" | xargs kill 2>/dev/null
sleep 2
# Force kill if still running
REMAINING_PIDS=$(ps aux | grep "[p]ython.*start.py" | awk '{print $2}')
if [ -n "$REMAINING_PIDS" ]; then
echo "$REMAINING_PIDS" | xargs kill -9 2>/dev/null
fi
fi
echo "========================================"
echo "All applications stopped"