API refactor
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-07 16:25:52 +09:00
parent 76d0d86211
commit 91c7e04474
1171 changed files with 81940 additions and 44117 deletions

79
run_services_for_emulator.sh Executable file
View File

@@ -0,0 +1,79 @@
#!/bin/bash
# Скрипт для запуска всех микросервисов на всех интерфейсах для Android-эмулятора
echo "🚀 Запускаем все микросервисы для Android-эмулятора..."
# Перейти в директорию проекта
cd "$(dirname "$0")" || { echo "Не удалось перейти в директорию проекта"; exit 1; }
# Активировать виртуальное окружение
source .venv/bin/activate || { echo "Не удалось активировать виртуальное окружение"; exit 1; }
# Получить текущий IP адрес
IP=$(hostname -I | awk '{print $1}')
echo "🔗 Локальный IP адрес: $IP"
echo "📱 Android эмулятор сможет подключиться по адресу: http://$IP:8000"
# Функция для остановки процесса на указанном порту
stop_service() {
local port=$1
if lsof -ti:$port > /dev/null; then
echo "⚠️ Останавливаем процесс на порту $port..."
lsof -ti:$port | xargs kill -9
sleep 1
fi
}
# Останавливаем все сервисы, если они запущены
echo "🛑 Останавливаем все сервисы, если они запущены..."
stop_service 8000 # API Gateway
stop_service 8001 # User Service
stop_service 8002 # Emergency Service
stop_service 8003 # Location Service
stop_service 8004 # Calendar Service
stop_service 8005 # Notification Service
# Экспортируем PYTHONPATH
export PYTHONPATH="${PWD}:${PYTHONPATH}"
# Функция для запуска сервиса
run_service() {
local name=$1
local port=$2
local path=$3
echo "✅ Запускаем $name на порту $port..."
cd $path || { echo "Не удалось перейти в директорию $path"; return; }
python -m uvicorn main:app --host 0.0.0.0 --port $port --reload &
cd $OLDPWD || { echo "Не удалось вернуться в исходную директорию"; return; }
sleep 2
}
# Запускаем все сервисы
echo "🚀 Запускаем все сервисы..."
run_service "User Service" 8001 "services/user_service"
run_service "Emergency Service" 8002 "services/emergency_service"
run_service "Location Service" 8003 "services/location_service"
run_service "Calendar Service" 8004 "services/calendar_service"
run_service "Notification Service" 8005 "services/notification_service"
run_service "API Gateway" 8000 "services/api_gateway"
echo ""
echo "📋 Сервисы доступны по следующим адресам:"
echo " 📡 API Gateway: http://$IP:8000"
echo " 👤 User Service: http://$IP:8001"
echo " 🚨 Emergency Service: http://$IP:8002"
echo " 📍 Location Service: http://$IP:8003"
echo " 📅 Calendar Service: http://$IP:8004"
echo " 🔔 Notification Service: http://$IP:8005"
echo ""
echo "📱 Для Android эмулятора используйте адрес: http://$IP:8000"
echo ""
echo "⚠️ Для остановки всех сервисов выполните: pkill -f uvicorn"
echo ""
echo "🔍 Мониторинг логов запущен. Нажмите Ctrl+C для выхода (сервисы продолжат работать)"
# Мониторим логи
tail -f services/*.log